diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | gdk/win32/gdkevents-win32.c | 6 |
2 files changed, 14 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2007-06-25 Tor Lillqvist <tml@novell.com> + + * 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-24 Kristian Rietveld <kris@gtk.org> * Makefile.am: fix little mistake in my last commit ... diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 9364d15514..5059a88993 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -534,6 +534,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); @@ -550,6 +552,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) { |