diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index f2683db..9aff056 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -3555,8 +3555,11 @@ frame_buf_at(int px, int py) if (!fb->scene_buf || !fb->scene_buf->node.enabled) continue; if (px >= fb->x && px < fb->x + fb->width && - py >= fb->y && py < fb->y + fb->height) - hit = fb; /* last match = topmost in scene order */ + py >= fb->y && py < fb->y + fb->height) { + /* Prefer children (more specific) over parents */ + if (!hit || fb->parent_id) + hit = fb; + } } return hit; }