summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2009-08-11 14:19:35 -0400
committerMatthias Clasen <mclasen@redhat.com>2009-08-11 14:19:35 -0400
commitbdffae7f6c28e0215504ebf77d0d7bb395e8df1b (patch)
tree939f9067e596ef2ecc1b140d4e5fda2b1053e188
parentf96d9132d6cbe3f0651ac36472eab996123b613d (diff)
downloadgdk-pixbuf-bdffae7f6c28e0215504ebf77d0d7bb395e8df1b.tar.gz
Make setting the root cursor work again
This used to work, and CSW broke it. Bug 591462, 589844.
-rw-r--r--gdk/gdkwindow.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 0b8b84b2e..90ebfc5f0 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -7108,7 +7108,10 @@ gdk_window_set_cursor (GdkWindow *window,
if (cursor)
private->cursor = gdk_cursor_ref (cursor);
- if (_gdk_window_event_parent_of (window, display->pointer_info.window_under_pointer))
+ if (private->window_type == GDK_WINDOW_ROOT ||
+ private->window_type == GDK_WINDOW_FOREIGN)
+ GDK_WINDOW_IMPL_GET_IFACE (private->impl)->set_cursor (window, cursor);
+ else if (_gdk_window_event_parent_of (window, display->pointer_info.window_under_pointer))
update_cursor (display);
g_object_notify (G_OBJECT (window), "cursor");