summaryrefslogtreecommitdiffstats
path: root/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-04-21 11:10:27 +0200
committerLiang Qi <liang.qi@qt.io>2017-04-21 11:10:27 +0200
commitbf2dec1e32fbd92ba431bf88dc989f209a15aa01 (patch)
tree724b6e0f6cd5e6718a80a7135304f191f76726f8 /src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp
parentf4a29f068e77e8d1a5a08046e47904ff0b6f2d2e (diff)
parenta5dd3692697fcf905749b5686d5d7bfbf47969e1 (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Diffstat (limited to 'src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp')
-rw-r--r--src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp b/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp
index 25e9906f0..22a82ff13 100644
--- a/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp
+++ b/src/compositor/extensions/qwaylandquickshellsurfaceitem.cpp
@@ -118,7 +118,14 @@ void QWaylandQuickShellSurfaceItem::setShellSurface(QWaylandShellSurface *shellS
d->m_shellSurface = shellSurface;
- d->m_shellIntegration = shellSurface->createIntegration(this);
+ if (d->m_shellIntegration) {
+ delete d->m_shellIntegration;
+ d->m_shellIntegration = nullptr;
+ }
+
+ if (shellSurface)
+ d->m_shellIntegration = shellSurface->createIntegration(this);
+
emit shellSurfaceChanged();
}