diff --git a/ChangeLog b/ChangeLog index c5a70dba4a..6f91b8494d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-06-25 Tor Lillqvist + + * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Revert my + attempted overly simple fix for #445284, as it causes a + regression. (For instance, in GIMP the tool cursor gets used also + for the right-click menu in image windows.) A more complex fix is + needed to more completely emulate X11 behaviour. + 2007-06-19 Carlos Garnacho * gtk/gtkcellrendererspin.c: Fix some issues with refcounting diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 1236cafbaf..139fe07f5e 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -588,6 +588,8 @@ gdk_pointer_grab (GdkWindow *window, if (return_val == GDK_GRAB_SUCCESS) { + GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl); + if (p_grab_window != NULL && p_grab_window != window) generate_grab_broken_event (p_grab_window, FALSE, window); @@ -604,6 +606,10 @@ gdk_pointer_grab (GdkWindow *window, if (p_grab_cursor != NULL) SetCursor (p_grab_cursor); + else if (impl->hcursor != NULL) + SetCursor (impl->hcursor); + else + SetCursor (LoadCursor (NULL, IDC_ARROW)); if (confine_to != NULL) {