diff options
Diffstat (limited to 'src/compositor/wayland_wrapper/qwlsurface.cpp')
-rw-r--r-- | src/compositor/wayland_wrapper/qwlsurface.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/compositor/wayland_wrapper/qwlsurface.cpp b/src/compositor/wayland_wrapper/qwlsurface.cpp index 9b3789087..d23c6aeb0 100644 --- a/src/compositor/wayland_wrapper/qwlsurface.cpp +++ b/src/compositor/wayland_wrapper/qwlsurface.cpp @@ -436,6 +436,14 @@ void Surface::surface_destroy_resource(Resource *) m_extendedSurface = 0; } + if (transientParent()) { + foreach (Surface *surface, compositor()->surfaces()) { + if (surface->transientParent() == this) { + surface->setTransientParent(0); + } + } + } + m_destroyed = true; m_waylandSurface->destroy(); emit m_waylandSurface->surfaceDestroyed(); |