summaryrefslogtreecommitdiff
path: root/gdk/win32
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2003-12-07 06:56:30 +0000
committerTor Lillqvist <tml@src.gnome.org>2003-12-07 06:56:30 +0000
commit4e4748bc3785309ae021f3b25aa3fe8a1b48c95f (patch)
treee9bfb9d03315a39b3fc5433d958c4cfd2f02a520 /gdk/win32
parent05f3e9b9fb3f78071b7a71d5b3417073e19b41c9 (diff)
downloadgdk-pixbuf-4e4748bc3785309ae021f3b25aa3fe8a1b48c95f.tar.gz
If we already have a pointer grab active with a grab cursor set, destroy
2003-12-07 Tor Lillqvist <tml@iki.fi> * gdk/win32/gdkevents-win32.c (gdk_pointer_grab): If we already have a pointer grab active with a grab cursor set, destroy that cursor to avoid a GDI resource leak. (#128410, Tim Evans)
Diffstat (limited to 'gdk/win32')
-rw-r--r--gdk/win32/gdkevents-win32.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index df6673d62..76ccb20e1 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -549,6 +549,14 @@ gdk_pointer_grab (GdkWindow *window,
if (return_val == GDK_GRAB_SUCCESS)
{
p_grab_window = window;
+
+ if (p_grab_cursor != NULL)
+ {
+ if (GetCursor () == p_grab_cursor)
+ SetCursor (NULL);
+ DestroyCursor (p_grab_cursor);
+ }
+
p_grab_cursor = hcursor;
if (p_grab_cursor != NULL)