From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42432) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqBkk-0003Wt-7G for qemu-devel@nongnu.org; Mon, 09 Dec 2013 20:04:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VqBke-00080O-8g for qemu-devel@nongnu.org; Mon, 09 Dec 2013 20:04:46 -0500 Received: from mx1.redhat.com ([209.132.183.28]:13288) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VqBke-00080A-0L for qemu-devel@nongnu.org; Mon, 09 Dec 2013 20:04:40 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rBA14d8q015348 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 9 Dec 2013 20:04:39 -0500 Received: from dreadlord-bne-redhat-com.bne.redhat.com (dhcp-40-7.bne.redhat.com [10.64.40.7]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id rBA14aei015483 for ; Mon, 9 Dec 2013 20:04:38 -0500 From: Dave Airlie Date: Tue, 10 Dec 2013 11:04:33 +1000 Message-Id: <1386637474-8165-2-git-send-email-airlied@gmail.com> In-Reply-To: <1386637474-8165-1-git-send-email-airlied@gmail.com> References: <1386637474-8165-1-git-send-email-airlied@gmail.com> Subject: [Qemu-devel] [PATCH 1/2] gtk: don't warp point in absolute mode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org From: Dave Airlie This makes gtk act the same way as the current sdl backend, which doesn't do the warp in this case. If your guest GPU has hw pointer this leads you get endless loops where the warp causes motion causes input events, causes the guest to move the cursor causes warp. Signed-off-by: Dave Airlie --- ui/gtk.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ui/gtk.c b/ui/gtk.c index 6316f5b..2abf289 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -338,6 +338,9 @@ static void gd_mouse_set(DisplayChangeListener *dcl, GdkDeviceManager *mgr; gint x_root, y_root; + if (kbd_mouse_is_absolute()) + return; + dpy = gtk_widget_get_display(s->drawing_area); mgr = gdk_display_get_device_manager(dpy); gdk_window_get_root_coords(gtk_widget_get_window(s->drawing_area), -- 1.8.3.1