@@ -190,16 +190,12 @@ void MirSurfaceItem::createQmlContentItem()
190190 m_qmlItem->setParentItem(this);
191191
192192 if (m_fillMode == FillMode::Stretch && width() != 0 && height() != 0) {
193− m_qmlItem->setWidth(width());
194− m_qmlItem->setHeight(height());
193+ m_qmlItem->setSize(QSize(this->width(), this->height()));
195194 } else {
196− m_qmlItem->setWidth(m_surfaceWidth);
197− m_qmlItem->setHeight(m_surfaceHeight);
195+ m_qmlItem->setSize(m_qmlSurface->size());
198196 }
199−
200− qDebug() << "set size to" << m_surfaceWidth;
201− setImplicitWidth(m_qmlItem->implicitWidth());
202− setImplicitHeight(m_qmlItem->implicitHeight());
197+ setImplicitWidth(m_qmlItem->width());
198+ setImplicitHeight(m_qmlItem->height());
203199
204200 {
205201 QQmlProperty screenshotSource(m_qmlItem, "screenshotSource");
@@ -315,12 +311,12 @@ void MirSurfaceItem::setSurface(MirSurfaceInterface* surface)
315311 connect(m_qmlSurface, &MirSurface::liveChanged, this, &MirSurfaceItem::liveChanged);
316312 connect(m_qmlSurface, &MirSurface::stateChanged, this, &MirSurfaceItem::surfaceStateChanged);
317313 connect(m_qmlSurface, &MirSurface::sizeChanged, this, [this] () {
314+ setImplicitSize(m_qmlSurface->width(), m_qmlSurface->height());
318315 if (m_fillMode == FillMode::Stretch) {
319316 m_qmlItem->setSize(QSize(this->width(), this->height()));
320317 } else {
321318 m_qmlItem->setSize(m_qmlSurface->size());
322319 }
323− setImplicitSize(m_qmlSurface->width(), m_qmlSurface->height());
324320 });
325321 m_surfaceWidth = surface->size().width();
326322 m_surfaceHeight = surface->size().height();