diff options
-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 c2a985ee..7c01bf16 100644 --- a/sway/desktop/xdg_shell.c +++ b/sway/desktop/xdg_shell.c | |||
@@ -294,8 +294,11 @@ static void handle_commit(struct wl_listener *listener, void *data) { | |||
294 | memcpy(&view->geometry, &new_geo, sizeof(struct wlr_box)); | 294 | memcpy(&view->geometry, &new_geo, sizeof(struct wlr_box)); |
295 | if (container_is_floating(view->container)) { | 295 | if (container_is_floating(view->container)) { |
296 | view_update_size(view); | 296 | view_update_size(view); |
297 | wlr_xdg_toplevel_set_size(view->wlr_xdg_toplevel, view->geometry.width, | 297 | // Only set the toplevel size the current container actually has a size. |
298 | view->geometry.height); | 298 | if (view->container->current.width) { |
299 | wlr_xdg_toplevel_set_size(view->wlr_xdg_toplevel, view->geometry.width, | ||
300 | view->geometry.height); | ||
301 | } | ||
299 | transaction_commit_dirty_client(); | 302 | transaction_commit_dirty_client(); |
300 | } else { | 303 | } else { |
301 | view_center_surface(view); | 304 | view_center_surface(view); |