diff options
Diffstat (limited to 'src/client/qwaylandwindow.cpp')
-rw-r--r-- | src/client/qwaylandwindow.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp index 1d4315a3..f82898bd 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(); } |