]> Pileus Git - ~andy/gtk/commitdiff
gdkoffscreenwindow: Don't crash when resetting cursor
authorBastien Nocera <hadess@hadess.net>
Thu, 10 May 2012 14:23:57 +0000 (15:23 +0100)
committerBastien Nocera <hadess@hadess.net>
Tue, 15 May 2012 17:05:36 +0000 (18:05 +0100)
When the toplevel is a GdkOffscreenWindow which doesn't
implement the set_device_cursor() vfunc, we would have
crashed. Implement a dummy ->set_device_cursor vfunc.

https://bugzilla.gnome.org/show_bug.cgi?id=675809

gdk/gdkoffscreenwindow.c

index 837cffbea262348c822bada400056037c3b5f6e1..e0c1a7620097d8bdb81411e446998b035843c0bd 100644 (file)
@@ -217,6 +217,13 @@ gdk_offscreen_window_reparent (GdkWindow *window,
   return was_mapped;
 }
 
+static void
+gdk_window_set_device_cursor (GdkWindow     *window,
+                             GdkDevice     *device,
+                             GdkCursor     *cursor)
+{
+}
+
 static void
 from_embedder (GdkWindow *window,
               double embedder_x, double embedder_y,
@@ -727,7 +734,7 @@ gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass)
   impl_class->move_resize = gdk_offscreen_window_move_resize;
   impl_class->set_background = gdk_offscreen_window_set_background;
   impl_class->reparent = gdk_offscreen_window_reparent;
-  impl_class->set_device_cursor = NULL;
+  impl_class->set_device_cursor = gdk_offscreen_window_set_device_cursor;
   impl_class->get_geometry = gdk_offscreen_window_get_geometry;
   impl_class->get_root_coords = gdk_offscreen_window_get_root_coords;
   impl_class->get_device_state = gdk_offscreen_window_get_device_state;