提交 2bda6602 编写于 作者: C Cole Robinson 提交者: Gerd Hoffmann

gtk: Don't warp absolute pointer

This matches the behavior of SDL, and makes the mouse usable when
using -display gtk -vga qxl

https://bugzilla.redhat.com/show_bug.cgi?id=1051724Signed-off-by: NCole Robinson <crobinso@redhat.com>
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
上级 298526fe
...@@ -340,6 +340,10 @@ static void gd_mouse_set(DisplayChangeListener *dcl, ...@@ -340,6 +340,10 @@ static void gd_mouse_set(DisplayChangeListener *dcl,
GdkDeviceManager *mgr; GdkDeviceManager *mgr;
gint x_root, y_root; gint x_root, y_root;
if (qemu_input_is_absolute()) {
return;
}
dpy = gtk_widget_get_display(s->drawing_area); dpy = gtk_widget_get_display(s->drawing_area);
mgr = gdk_display_get_device_manager(dpy); mgr = gdk_display_get_device_manager(dpy);
gdk_window_get_root_coords(gtk_widget_get_window(s->drawing_area), gdk_window_get_root_coords(gtk_widget_get_window(s->drawing_area),
...@@ -355,6 +359,10 @@ static void gd_mouse_set(DisplayChangeListener *dcl, ...@@ -355,6 +359,10 @@ static void gd_mouse_set(DisplayChangeListener *dcl,
GtkDisplayState *s = container_of(dcl, GtkDisplayState, dcl); GtkDisplayState *s = container_of(dcl, GtkDisplayState, dcl);
gint x_root, y_root; gint x_root, y_root;
if (qemu_input_is_absolute()) {
return;
}
gdk_window_get_root_coords(gtk_widget_get_window(s->drawing_area), gdk_window_get_root_coords(gtk_widget_get_window(s->drawing_area),
x, y, &x_root, &y_root); x, y, &x_root, &y_root);
gdk_display_warp_pointer(gtk_widget_get_display(s->drawing_area), gdk_display_warp_pointer(gtk_widget_get_display(s->drawing_area),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册