qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH ui/gtk 07/13] Conditionalize use of gdk_display_warp


From: Daniel P. Berrange
Subject: [Qemu-devel] [PATCH ui/gtk 07/13] Conditionalize use of gdk_display_warp_pointer
Date: Mon, 25 Feb 2013 15:20:40 +0000

From: "Daniel P. Berrange" <address@hidden>

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 <address@hidden>
---
 ui/gtk.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index 182a16c..93c3b43 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;
-- 
1.8.1.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]