diff options
Diffstat (limited to 'sway/desktop/xdg_shell.c')
-rw-r--r-- | sway/desktop/xdg_shell.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c index d34654fd..1f70b193 100644 --- a/sway/desktop/xdg_shell.c +++ b/sway/desktop/xdg_shell.c | |||
@@ -443,12 +443,15 @@ static void handle_map(struct wl_listener *listener, void *data) { | |||
443 | 443 | ||
444 | bool csd = false; | 444 | bool csd = false; |
445 | 445 | ||
446 | if (!view->xdg_decoration) { | 446 | if (view->xdg_decoration) { |
447 | enum wlr_xdg_toplevel_decoration_v1_mode mode = | ||
448 | view->xdg_decoration->wlr_xdg_decoration->client_pending_mode; | ||
449 | csd = mode == WLR_XDG_TOPLEVEL_DECORATION_V1_MODE_CLIENT_SIDE; | ||
450 | } else { | ||
447 | struct sway_server_decoration *deco = | 451 | struct sway_server_decoration *deco = |
448 | decoration_from_surface(xdg_surface->surface); | 452 | decoration_from_surface(xdg_surface->surface); |
449 | csd = !deco || deco->wlr_server_decoration->mode == | 453 | csd = !deco || deco->wlr_server_decoration->mode == |
450 | WLR_SERVER_DECORATION_MANAGER_MODE_CLIENT; | 454 | WLR_SERVER_DECORATION_MANAGER_MODE_CLIENT; |
451 | |||
452 | } | 455 | } |
453 | 456 | ||
454 | view_map(view, view->wlr_xdg_surface->surface, | 457 | view_map(view, view->wlr_xdg_surface->surface, |