summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/qwaylandwindow.cpp')
-rw-r--r--src/client/qwaylandwindow.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index 1d4315a39..f82898bd2 100644
--- a/src/client/qwaylandwindow.cpp
+++ b/src/client/qwaylandwindow.cpp
@@ -211,8 +211,11 @@ void QWaylandWindow::initWindow()
void QWaylandWindow::initializeWlSurface()
{
Q_ASSERT(!isInitialized());
- QWriteLocker lock(&mSurfaceLock);
- init(mDisplay->createSurface(static_cast<QtWayland::wl_surface *>(this)));
+ {
+ QWriteLocker lock(&mSurfaceLock);
+ init(mDisplay->createSurface(static_cast<QtWayland::wl_surface *>(this)));
+ }
+ emit wlSurfaceCreated();
}
bool QWaylandWindow::shouldCreateShellSurface() const
@@ -248,6 +251,7 @@ void QWaylandWindow::reset(bool sendDestroyEvent)
delete mSubSurfaceWindow;
mSubSurfaceWindow = nullptr;
if (isInitialized()) {
+ emit wlSurfaceDestroyed();
QWriteLocker lock(&mSurfaceLock);
destroy();
}