diff options
Diffstat (limited to 'sway/desktop/xdg_shell.c')
-rw-r--r-- | sway/desktop/xdg_shell.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c index 2680af64..a8b527a7 100644 --- a/sway/desktop/xdg_shell.c +++ b/sway/desktop/xdg_shell.c | |||
@@ -377,11 +377,13 @@ static void handle_map(struct wl_listener *listener, void *data) { | |||
377 | 377 | ||
378 | view_map(view, view->wlr_xdg_surface->surface); | 378 | view_map(view, view->wlr_xdg_surface->surface); |
379 | 379 | ||
380 | struct sway_server_decoration *deco = | 380 | if (!view->xdg_decoration) { |
381 | decoration_from_surface(xdg_surface->surface); | 381 | struct sway_server_decoration *deco = |
382 | bool csd = !deco || deco->wlr_server_decoration->mode == | 382 | decoration_from_surface(xdg_surface->surface); |
383 | WLR_SERVER_DECORATION_MANAGER_MODE_CLIENT; | 383 | bool csd = !deco || deco->wlr_server_decoration->mode == |
384 | view_update_csd_from_client(view, csd); | 384 | WLR_SERVER_DECORATION_MANAGER_MODE_CLIENT; |
385 | view_update_csd_from_client(view, csd); | ||
386 | } | ||
385 | 387 | ||
386 | if (xdg_surface->toplevel->client_pending.fullscreen) { | 388 | if (xdg_surface->toplevel->client_pending.fullscreen) { |
387 | container_set_fullscreen(view->container, true); | 389 | container_set_fullscreen(view->container, true); |