fix cursor: dont reset to left_ptr over WINGs/WM frame_bufs
wl_update_pointer_focus reset cursor to left_ptr on every motion event when no Wayland surface was under the pointer. WINGs compositor views are pixman scene nodes, not Wayland surfaces, so surface was always NULL over dialogs. Now preserve cursor when over frame_bufs.
This commit is contained in:
parent
70a456b72d
commit
f73630be43
|
|
@ -201,9 +201,10 @@ deliver:
|
|||
last_focused_surface = NULL;
|
||||
}
|
||||
wlr_seat_pointer_clear_focus(wl_state.seat);
|
||||
/* When pointer leaves all surfaces, reset to default arrow.
|
||||
* Don't reset during grabs — the grab system manages the cursor. */
|
||||
if (!wl_state.grab_type)
|
||||
/* Reset to arrow only when not over a WINGs/WM frame_buf and not grabbing.
|
||||
* WINGs views are compositor nodes (not Wayland surfaces) so surface==NULL. */
|
||||
if (!wl_state.grab_type
|
||||
&& !frame_buf_hit(wl_state.pointer_x, wl_state.pointer_y))
|
||||
wl_set_cursor_image("left_ptr");
|
||||
}
|
||||
/* focus-follows-pointer — when the pointer enters a new
|
||||
|
|
|
|||
Loading…
Reference in New Issue