aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/desktop/xdg_shell.c3
-rw-r--r--sway/desktop/xdg_shell_v6.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c
index 32d1e3ca..d2b8822c 100644
--- a/sway/desktop/xdg_shell.c
+++ b/sway/desktop/xdg_shell.c
@@ -122,7 +122,8 @@ static void set_fullscreen(struct sway_view *view, bool fullscreen) {
static bool wants_floating(struct sway_view *view) {
struct wlr_xdg_toplevel_state *state =
&view->wlr_xdg_surface->toplevel->current;
- return state->min_width == state->max_width
+ return state->min_width != 0 && state->min_height != 0
+ && state->min_width == state->max_width
&& state->min_height == state->max_height;
}
diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c
index 6cb489db..6ffe334a 100644
--- a/sway/desktop/xdg_shell_v6.c
+++ b/sway/desktop/xdg_shell_v6.c
@@ -121,7 +121,8 @@ static void set_fullscreen(struct sway_view *view, bool fullscreen) {
static bool wants_floating(struct sway_view *view) {
struct wlr_xdg_toplevel_v6_state *state =
&view->wlr_xdg_surface_v6->toplevel->current;
- return state->min_width == state->max_width
+ return state->min_width != 0 && state->min_height != 0
+ && state->min_width == state->max_width
&& state->min_height == state->max_height;
}