Complete Wayland-related part of issue #1295

This commit is contained in:
ManoloFLTK 2025-09-15 09:05:16 +02:00
parent afeaf12934
commit dfd208e171
4 changed files with 3 additions and 9 deletions

View File

@ -103,8 +103,8 @@ extern int fl_send_system_handlers(void *e);
#if FLTK_CONSOLIDATE_MOTION
static Fl_Window* send_motion;
extern Fl_Window* fl_xmousewin;
#endif
extern Fl_Window* fl_xmousewin;
static bool in_a_window; // true if in any of our windows, even destroyed ones
static void do_queued_events() {
@ -2199,9 +2199,9 @@ int fl_handle(const XEvent& thisevent)
if (xevent.xcrossing.detail == NotifyInferior) break;
set_event_xy(window);
Fl::e_state = xevent.xcrossing.state << 16;
#if FLTK_CONSOLIDATE_MOTION
//#if FLTK_CONSOLIDATE_MOTION // this needs to be commented out in 1.4 and above (see #1295)
fl_xmousewin = 0;
#endif // FLTK_CONSOLIDATE_MOTION
//#endif // FLTK_CONSOLIDATE_MOTION
in_a_window = false; // make do_queued_events produce FL_LEAVE event
return 0;

View File

@ -245,8 +245,6 @@ static void pointer_leave(void *data, struct wl_pointer *wl_pointer,
need_leave = win->top_window(); // we leave a sub or toplevel window
wl_display_roundtrip(fl_wl_display()); // pointer_enter to other win, if applicable, will run
if (need_leave) { // we really left the sub-or-top win and did not enter another
extern Fl_Window *fl_xmousewin;
fl_xmousewin = 0;
Fl::handle(FL_LEAVE, need_leave);
}
}

View File

@ -453,8 +453,6 @@ void Fl_Wayland_Window_Driver::hide() {
Fl_Screen_Driver::del_transient_window(NULL);
}
Fl_X* ip = Fl_X::flx(pWindow);
extern Fl_Window *fl_xmousewin;
fl_xmousewin = 0;
if (hide_common()) return;
if (ip->region) {
Fl_Graphics_Driver::default_driver().XDestroyRegion(ip->region);

View File

@ -434,8 +434,6 @@ void Fl_X11_Window_Driver::make_current() {
void Fl_X11_Window_Driver::hide() {
Fl_X* ip = Fl_X::flx(pWindow);
extern Fl_Window *fl_xmousewin;
fl_xmousewin = 0;
if (hide_common()) return;
if (ip->region) Fl_Graphics_Driver::default_driver().XDestroyRegion(ip->region);
# if USE_XFT && ! FLTK_USE_CAIRO