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.

Cherry-picked from master to fix failing tests on build.kde.org.
This commit is contained in:
Martin Gräßlin 2016-05-23 08:54:28 +02:00
parent c3cd8df795
commit dc8c33e856

View file

@ -89,6 +89,7 @@ ShellClient::ShellClient(ShellSurfaceInterface *surface)
);
connect(surface, &ShellSurfaceInterface::destroyed, this, &ShellClient::destroyClient);
connect(surface->surface(), &SurfaceInterface::unmapped, this, &ShellClient::unmap);
connect(surface->surface(), &SurfaceInterface::destroyed, this, &ShellClient::destroyClient);
connect(surface, &ShellSurfaceInterface::titleChanged, this, &ShellClient::captionChanged);
connect(surface, &ShellSurfaceInterface::fullscreenChanged, this, &ShellClient::clientFullScreenChanged);