xwayland: fix client request-unmap bug

Remove foreign-toplevel handle when a client sends a request-unmap to a
minimized (therefore unmapped) view.
This commit is contained in:
Johan Malm 2023-08-04 22:04:42 +01:00
parent 6eae61a67f
commit cb31e7ce55

View file

@ -492,7 +492,7 @@ static void
xwayland_view_unmap(struct view *view, bool client_request)
{
if (!view->mapped) {
return;
goto out;
}
view->mapped = false;
wl_list_remove(&view->commit.link);
@ -504,6 +504,7 @@ xwayland_view_unmap(struct view *view, bool client_request)
* than just minimized), destroy the foreign toplevel handle so
* the unmapped view doesn't show up in panels and the like.
*/
out:
if (client_request && view->toplevel.handle) {
wlr_foreign_toplevel_handle_v1_destroy(view->toplevel.handle);
view->toplevel.handle = NULL;