summaryrefslogtreecommitdiff
path: root/src/drivers/Wayland
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/Wayland')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx3
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;
}