diff options
Diffstat (limited to 'src/drivers/Wayland')
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx index 8bae05c42..340d92051 100644 --- a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx @@ -219,6 +219,7 @@ static void pointer_enter(void *data, struct wl_pointer *wl_pointer, uint32_t se } if (!win) return; //fprintf(stderr, "pointer_enter window=%p\n", Fl_Wayland_Window_Driver::surface_to_window(surface)); + seat->pointer_focus = surface; // use custom cursor if present struct wl_cursor *cursor = fl_wl_xid(win)->custom_cursor ? fl_wl_xid(win)->custom_cursor->wl_cursor : NULL; @@ -228,8 +229,8 @@ static void pointer_enter(void *data, struct wl_pointer *wl_pointer, uint32_t se set_event_xy(win); need_leave = NULL; win = Fl_Wayland_Window_Driver::surface_to_window(surface); + // Caution: with an Fl_Tooltip this call can hide the window being entered (#1317) if (!win->parent()) Fl::handle(FL_ENTER, win); - seat->pointer_focus = surface; } |
