aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop
diff options
context:
space:
mode:
Diffstat (limited to 'sway/desktop')
-rw-r--r--sway/desktop/xdg_shell.c2
-rw-r--r--sway/desktop/xdg_shell_v6.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c
index b5dcfb0f..152bd26f 100644
--- a/sway/desktop/xdg_shell.c
+++ b/sway/desktop/xdg_shell.c
@@ -216,7 +216,7 @@ static bool is_transient_for(struct sway_view *child,
216 return false; 216 return false;
217 } 217 }
218 struct wlr_xdg_surface *surface = child->wlr_xdg_surface; 218 struct wlr_xdg_surface *surface = child->wlr_xdg_surface;
219 while (surface) { 219 while (surface && surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL) {
220 if (surface->toplevel->parent == ancestor->wlr_xdg_surface) { 220 if (surface->toplevel->parent == ancestor->wlr_xdg_surface) {
221 return true; 221 return true;
222 } 222 }
diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c
index a7ea163f..3eed54ab 100644
--- a/sway/desktop/xdg_shell_v6.c
+++ b/sway/desktop/xdg_shell_v6.c
@@ -213,7 +213,7 @@ static bool is_transient_for(struct sway_view *child,
213 return false; 213 return false;
214 } 214 }
215 struct wlr_xdg_surface_v6 *surface = child->wlr_xdg_surface_v6; 215 struct wlr_xdg_surface_v6 *surface = child->wlr_xdg_surface_v6;
216 while (surface) { 216 while (surface && surface->role == WLR_XDG_SURFACE_V6_ROLE_TOPLEVEL) {
217 if (surface->toplevel->parent == ancestor->wlr_xdg_surface_v6) { 217 if (surface->toplevel->parent == ancestor->wlr_xdg_surface_v6) {
218 return true; 218 return true;
219 } 219 }