diff --git a/ChangeLog b/ChangeLog index bffd88ab3..57d31a44b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Dec 9 22:09:56 2002 Soeren Sandmann + + * src/display.c, src/window.c: Handle crossing events during + resizing. (#93384). + 2002-12-09 Havoc Pennington * configure.in: 2.4.8 diff --git a/src/display.c b/src/display.c index 6d9b03435..48a1b7797 100644 --- a/src/display.c +++ b/src/display.c @@ -1252,6 +1252,12 @@ event_callback (XEvent *event, meta_window_handle_mouse_grab_op_event (window, event); break; case EnterNotify: + if (grab_op_is_mouse (display->grab_op) && + display->grab_window == window) + { + meta_window_handle_mouse_grab_op_event (window, event); + break; + } /* do this even if window->has_focus to avoid races */ if (window && !serial_is_ignored (display, event->xany.serial) && event->xcrossing.detail != NotifyInferior) @@ -1311,6 +1317,12 @@ event_callback (XEvent *event, } break; case LeaveNotify: + if (grab_op_is_mouse (display->grab_op) && + display->grab_window == window) + { + meta_window_handle_mouse_grab_op_event (window, event); + break; + } if (window) { switch (meta_prefs_get_focus_mode ()) @@ -2374,7 +2386,8 @@ meta_display_set_grab_op_cursor (MetaDisplay *display, cursor = xcursor_for_op (display, op); #define GRAB_MASK (PointerMotionMask | PointerMotionHintMask | \ - ButtonPressMask | ButtonReleaseMask) + ButtonPressMask | ButtonReleaseMask | \ + EnterWindowMask | LeaveWindowMask) if (change_pointer) { diff --git a/src/window.c b/src/window.c index 20fc97499..b5ac01570 100644 --- a/src/window.c +++ b/src/window.c @@ -6289,7 +6289,9 @@ meta_window_handle_mouse_grab_op_event (MetaWindow *window, meta_display_end_grab_op (window->display, event->xbutton.time); break; - + + case EnterNotify: + case LeaveNotify: case MotionNotify: switch (window->display->grab_op) {