summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--gdk/win32/gdkevents-win32.c6
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6ace9d2aa3..b1f2651805 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)
{