Destroy ShellClient when the SurfaceInterface gets destroyed

KWayland was changed: the ShellSurfaceInterface does no longer get
destroyed when the parent SurfaceInterface gets destroyed. For the
wl_shell_surface there is no dtor request in the interface so the
resource sticks around and also the ShellClient is kept.

This change ensures that the ShellClient also gets destroyed when
the Surface is destroyed. This should fix some broken tests.
This commit is contained in:
Martin Gräßlin 2016-05-23 08:54:28 +02:00
parent eb44bbe460
commit 1d9653953b

View file

@ -97,6 +97,7 @@ void ShellClient::init()
}
);
connect(s, &SurfaceInterface::unmapped, this, &ShellClient::unmap);
connect(s, &SurfaceInterface::destroyed, this, &ShellClient::destroyClient);
if (m_shellSurface) {
connect(m_shellSurface, &ShellSurfaceInterface::destroyed, this, &ShellClient::destroyClient);
connect(m_shellSurface, &ShellSurfaceInterface::titleChanged, this, &ShellClient::captionChanged);