diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 6b05e96..21c5341 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -3943,7 +3943,14 @@ frame_buf_at(int px, int py) return fb; } - /* Step 5: topmost node was a client surface — not a WM frame. */ + /* Step 5: match a tree-less frame_buf (WINGs dialog) whose scene_buf + * is a direct child of a level_tree bucket. */ + wl_list_for_each(fb, &wl_state.frame_list, link) { + if (!fb->tree && fb->scene_buf && &fb->scene_buf->node == n) + return fb; + } + + /* Step 6: topmost node was a client surface — not a WM frame. */ return NULL; }