diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2025-11-05 21:10:18 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2025-11-05 21:10:18 +0100 |
| commit | d8df24a2ea221cfe65a4352e17d9a4f8a3442243 (patch) | |
| tree | 3650a629fc897b2de216dd8d5b19df104ef66263 /src/drivers/Wayland | |
| parent | f2db90cb77466d6720c348be78e491a7d00c9e8c (diff) | |
Fix "Long Tooltips can crash under Wayland" (#1317)
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; } |
