From 8906de769be0978fed31a0341d0a5829a4ef7ecf Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Mon, 25 Feb 2013 15:20:40 +0000 Subject: Conditionalize use of gdk_display_warp_pointer In GTK3 the gdk_display_warp_pointer method is deprecated. Instead we should use gdk_device_warp on the GdkDevice instead associated with the event being processed. Signed-off-by: Daniel P. Berrange Message-id: 1361805646-6425-8-git-send-email-berrange@redhat.com Signed-off-by: Anthony Liguori --- ui/gtk.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ui/gtk.c b/ui/gtk.c index 182a16cbca..93c3b43fc4 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -501,7 +501,6 @@ static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion, } if (!kbd_mouse_is_absolute() && gd_is_grab_active(s)) { - GdkDisplay *display = gtk_widget_get_display(s->drawing_area); GdkScreen *screen = gtk_widget_get_screen(s->drawing_area); int x = (int)motion->x_root; int y = (int)motion->y_root; @@ -527,7 +526,13 @@ static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion, } if (x != (int)motion->x_root || y != (int)motion->y_root) { +#if GTK_CHECK_VERSION(3, 0, 0) + GdkDevice *dev = gdk_event_get_device((GdkEvent *)motion); + gdk_device_warp(dev, screen, x, y); +#else + GdkDisplay *display = gtk_widget_get_display(widget); gdk_display_warp_pointer(display, screen, x, y); +#endif s->last_x = -1; s->last_y = -1; return FALSE; -- cgit v1.2.3