summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandsurfaceitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/compositor/compositor_api/qwaylandsurfaceitem.cpp')
-rw-r--r--src/compositor/compositor_api/qwaylandsurfaceitem.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/compositor/compositor_api/qwaylandsurfaceitem.cpp b/src/compositor/compositor_api/qwaylandsurfaceitem.cpp
index 90a68c4f9..93cfaf008 100644
--- a/src/compositor/compositor_api/qwaylandsurfaceitem.cpp
+++ b/src/compositor/compositor_api/qwaylandsurfaceitem.cpp
@@ -356,6 +356,11 @@ void QWaylandSurfaceItem::updateBuffer(bool hasBuffer)
void QWaylandSurfaceItem::updateTexture()
{
+ updateTexture(false);
+}
+
+void QWaylandSurfaceItem::updateTexture(bool changed)
+{
if (!m_provider)
m_provider = new QWaylandSurfaceTextureProvider();
@@ -363,7 +368,7 @@ void QWaylandSurfaceItem::updateTexture()
if (mapped)
m_provider->t = static_cast<QWaylandQuickSurface *>(surface())->texture();
m_provider->smooth = smooth();
- if (m_newTexture)
+ if (m_newTexture || changed)
emit m_provider->textureChanged();
m_newTexture = false;
}