- 07 4月, 2014 3 次提交
-
-
由 Takashi Iwai 提交于
It's pretty annoying that the pointer reappears at a random place once after grabbing and ungrabbing the input. Better to restore to the original position where the pointer was grabbed. Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587Tested-by: NCole Robinson <crobinso@redhat.com> Reviewed-by: NCole Robinson <crobinso@redhat.com> Tested-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Takashi Iwai 提交于
The relative pointer tracking mode was still buggy even after the previous fix of the motion-notify-event since the events are filtered out when the pointer moves outside the drawing window due to the boundary check for the absolute mode. This patch fixes the issue by moving the unnecessary boundary check into the if block of absolute mode, and keep the coordinate in the relative mode even if it's outside the drawing area. But this makes the coordinate (last_x, last_y) possibly pointing to (-1,-1), introduce a new flag to indicate the last coordinate has been updated. Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587Tested-by: NCole Robinson <crobinso@redhat.com> Reviewed-by: NCole Robinson <crobinso@redhat.com> Tested-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Takashi Iwai 提交于
The GDK motion-notify-event isn't generated when the pointer goes out of the target window even if the pointer is grabbed, which essentially means to lose the pointer tracking in gtk-ui. Meanwhile the generic "event" signal is sent when the pointer is grabbed, so we can use this and pick the motion notify events manually there instead. Reference: https://bugzilla.novell.com/show_bug.cgi?id=849587Tested-by: NCole Robinson <crobinso@redhat.com> Reviewed-by: NCole Robinson <crobinso@redhat.com> Tested-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de> Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
- 26 3月, 2014 1 次提交
-
-
由 Stefan Weil 提交于
GTK without VTE is needed for hosts which don't support VTE (for example all variants of MinGW), but it can also be reasonable for other hosts. Signed-off-by: NStefan Weil <sw@weilnetz.de>
-
- 17 3月, 2014 3 次提交
-
-
由 Cole Robinson 提交于
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>
-
由 Cole Robinson 提交于
We were using the wrong coordinates, this fixes things to match the original gtk2 implementation. You can see this error in action by using -vga qxl, however even after this patch the mouse warps in small increments up and to the left, -7x and -3y pixels at a time, until the pointer is warped off the widget. I think it's a qxl bug, but the next patch covers it up. Signed-off-by: NCole Robinson <crobinso@redhat.com> Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Jan Kiszka 提交于
As long as we have no persistent GTK configuration, this allows to enable the useful grab-on-hover feature already when starting the VM. Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com> [ kraxel: fix warning with CONFIG_GTK=n ] Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
- 12 3月, 2014 1 次提交
-
-
由 Jan Kiszka 提交于
Hook into scroll-event to properly forward mouse wheel movements to the guest, just like we already do in SDL. Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com> Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
- 05 3月, 2014 2 次提交
-
-
由 Gerd Hoffmann 提交于
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Gerd Hoffmann 提交于
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
- 21 1月, 2014 1 次提交
-
-
由 Stefan Weil 提交于
GTK uses different hardware keycodes on Windows hosts, so some special handling is needed to get the QEMU keycode. Signed-off-by: NStefan Weil <sw@weilnetz.de>
-
- 03 12月, 2013 1 次提交
-
-
由 Stefan Weil 提交于
Signed-off-by: NStefan Weil <sw@weilnetz.de> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
- 27 8月, 2013 1 次提交
-
-
由 Stefan Weil 提交于
These include files don't exist for MinGW and are not needed for Linux (and hopefully for other hosts as well), so remove them. Signed-off-by: NStefan Weil <sw@weilnetz.de>
-
- 23 7月, 2013 1 次提交
-
-
由 Jan Kiszka 提交于
This is in fact very simply: When the input in grabbed, everything should be exclusively passed to the guest - except it has our magic CTRL-ALT modifier set. Then let GTK filter out those accels that are in use. When checking the modifier state, we just need to filter out NUM and CAPS lock. Note: Filtering based on hard-coded modifiers breaks overriding accelerators. Needs to be fixed at a later point. Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 29 6月, 2013 1 次提交
-
-
由 Gerd Hoffmann 提交于
Also use CAIRO_FORMAT_RGB24 unconditionally. DisplaySurfaces will never ever see 8bpp surfaces. And using CAIRO_FORMAT_RGB16_565 for the 16bpp case doesn't seem to be a good idea too. <quote src="/usr/include/cairo/cairo.h"> * @CAIRO_FORMAT_RGB16_565: This format value is deprecated. It has * never been properly implemented in cairo and should not be used * by applications. (since 1.2) </quote> Signed-off-by: NGerd Hoffmann <kraxel@redhat.com> Message-id: 1372150134-8590-1-git-send-email-kraxel@redhat.com Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 17 6月, 2013 1 次提交
-
-
由 Stefan Weil 提交于
With GTK 3, the function gdk_cursor_unref is deprecated: qemu/ui/gtk.c: In function ‘gd_cursor_define’: qemu/ui/gtk.c:380:5: error: ‘gdk_cursor_unref’ is deprecated (declared at /usr/include/gtk-3.0/gdk/gdkcursor.h:233): Use 'g_object_unref' instead [-Werror=deprecated-declarations] Fix the gcc compiler warning by using conditional compilation. Signed-off-by: NStefan Weil <sw@weilnetz.de> Message-id: 1371391987-10795-1-git-send-email-sw@weilnetz.de Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 14 6月, 2013 1 次提交
-
-
由 Michael Tokarev 提交于
In two places qemu uses openpty() which is very system-dependent, and in both places the pty is switched to raw mode as well. Make a wrapper function which does both steps, and move all the system-dependent complexity into a separate file, together with static/local implementations of openpty() and cfmakeraw() from qemu-char.c. It is in a separate file, not part of oslib-posix.c, because openpty() often resides in -lutil which is not linked to every program qemu builds. This change removes #including of <pty.h>, <termios.h> and other rather specific system headers out of qemu-common.h, which isn't a place for such specific headers really. This version has been verified to build correctly on Linux, OpenBSD, FreeBSD and OpenIndiana. On the latter it lets qemu to be built with gtk gui which were not possible there due to missing openpty() and cfmakeraw(). Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru> Tested-by: NAndreas Färber <andreas.faerber@web.de>
-
- 12 6月, 2013 1 次提交
-
-
由 Peter Wu 提交于
Aiming for GTK as replacement for SDL, a feature like -full-screen should also be implemented. Bringing the window into full-screen mode is done by activating the "Fullscreen" menu item. This is done after showing the windows to make the cursor and menu hidden. v2: drop -no-frame implementation, use booleans instead of ints and ensure consistency between ui state and menu. Signed-off-by: NPeter Wu <lekensteyn@gmail.com> Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com> Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
-
- 11 6月, 2013 2 次提交
-
-
由 Michael Roth 提交于
When CHR_EVENT_OPENED was initially added, it was CHR_EVENT_RESET, and it was issued as a bottom-half: 86e94dea Which we basically used to print out a greeting/prompt for the monitor. AFAICT the only reason this was ever done in a BH was because in some cases we'd modify the chr_write handler for a new chardev backend *after* the site where we issued the reset (see: 86e94d:qemu_chr_open_stdio()) At some point this event was renamed to CHR_EVENT_OPENED, and we've maintained the use of this BH ever since. However, due to 9f939df9, we schedule the BH via g_idle_add(), which is causing events to sometimes be delivered after we've already begun processing data from backends, leading to: known bugs: QMP: session negotation resets with OPENED event, in some cases this is causing new sessions to get sporadically reset potential bugs: hw/usb/redirect.c: can_read handler checks for dev->parser != NULL, which may be true if CLOSED BH has not been executed yet. In the past, OPENED quiesced outstanding CLOSED events prior to us reading client data. If it's delayed, our check may allow reads to occur even though we haven't processed the OPENED event yet, and when we do finally get the OPENED event, our state may get reset. qtest.c: can begin session before OPENED event is processed, leading to a spurious reset of the system and irq_levels gdbstub.c: may start a gdb session prior to the machine being paused To fix these, let's just drop the BH. Since the initial reasoning for using it still applies to an extent, work around that by deferring the delivery of CHR_EVENT_OPENED until after the chardevs have been fully initialized, toward the end of qmp_chardev_add() (or some cases, qemu_chr_new_from_opts()). This defers delivery long enough that we can be assured a CharDriverState is fully initialized before CHR_EVENT_OPENED is sent. Also, rather than requiring each chardev to do an explicit open, do it automatically, and allow the small few who don't desire such behavior to suppress the OPENED-on-init behavior by setting a 'explicit_be_open' flag. We additionally add missing OPENED events for stdio backends on w32, which were previously not being issued, causing us to not recieve the banner and initial prompts for qmp/hmp. Reported-by: NStefan Priebe <s.priebe@profihost.ag> Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Message-id: 1370636393-21044-1-git-send-email-mdroth@linux.vnet.ibm.com Cc: qemu-stable@nongnu.org Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Anthony Liguori 提交于
The current icon looks pretty terrible rendered in Gnome. This switches to a transparent SVG which looks much nicer. Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 04 6月, 2013 2 次提交
-
-
由 Anthony Liguori 提交于
It's not a GObject. Cc: Gerd Hoffman <kraxel@redhat.com> Reported-by: NMichael Tokarev <mjt@tls.msk.ru> Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com> --- v1 -> v2 - Fix summary to agree with code (Peter)
-
由 Anthony Liguori 提交于
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 14 5月, 2013 1 次提交
-
-
由 Paolo Bonzini 提交于
This should fix building the GTK+ front-end on BSDs. Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com> Message-id: 1368533121-30796-1-git-send-email-pbonzini@redhat.com Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 13 5月, 2013 1 次提交
-
-
由 Igor Mitsyanko 提交于
Commit 9697f5d2 "gtk: custom cursor support" introduced unconditional usage of gdk_display_warp_pointer(). This function is marked as deprecated since GTK-3.0, and triggers warning (error with -Werror) during compilation. Conditionally change gdk_display_warp_pointer() method usage to gdk_device_warp usage, as suggested by compiler. Signed-off-by: NIgor Mitsyanko <i.mitsyanko@gmail.com> Message-id: 1368197985-44608-1-git-send-email-i.mitsyanko@gmail.com Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 26 4月, 2013 2 次提交
-
-
由 Anthony Liguori 提交于
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Gerd Hoffmann 提交于
We don't have multiple DisplayStates any more, so passing it in as argument is not needed. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
- 23 4月, 2013 1 次提交
-
-
由 Ozan Çağlayan 提交于
This fixes build with gtk+-3.0. Signed-off-by: NOzan Çağlayan <ozancag@gmail.com> Message-id: 1366711402-1750-1-git-send-email-ozancag@gmail.com Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 17 4月, 2013 1 次提交
-
-
由 Markus Armbruster 提交于
Replace #pragma GCC diagnostic ignored FOO [Troublesome code...] #pragma GCC diagnostic error FOO by #pragma GCC diagnostic push #pragma GCC diagnostic ignored FOO [Troublesome code...] #pragma GCC diagnostic pop Broken in commit 3f4349dc, commit 092bb306, and commit c95e3080. Signed-off-by: NMarkus Armbruster <armbru@redhat.com> Tested-by: NAlexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com> Message-id: 1366113066-1340-1-git-send-email-armbru@redhat.com Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 16 4月, 2013 4 次提交
-
-
由 Gerd Hoffmann 提交于
Makes gtk ui play nicely with qxl (and vmware_svga) as you can actually see your pointer now ;) Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Gerd Hoffmann 提交于
DisplayChangeListener gets a new QemuConsole field, which can be set to non-NULL before registering. This will pin the QemuConsole, so that particular DisplayChangeListener will not follow console switches. spice+gtk (which don't support text console input anyway) are switched over to be pinned to console 0, which usually is the graphical display. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Gerd Hoffmann 提交于
Add QemuConsole parameter to vga_hw_*, so the interface allows to update non-active consoles (the actual code can't handle this yet, see next patch). Passing NULL is allowed and updates the active console, like the functions do today. While touching all vga_hw_* calls anyway rename that to the functions to hardware-neutral graphics_hw_* Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Paolo Bonzini 提交于
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
-
- 02 4月, 2013 2 次提交
-
-
由 Stefan Weil 提交于
The QEMU icon which is already used for SDL is now also loaded by GTK. Signed-off-by: NStefan Weil <sw@weilnetz.de> Message-id: 1364653300-26813-1-git-send-email-sw@weilnetz.de Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Aurelien Jarno 提交于
Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net> Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com> Message-id: 1364836326-8707-2-git-send-email-aurelien@aurel32.net Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 27 3月, 2013 1 次提交
-
-
由 Hans de Goede 提交于
To better reflect that it is for handling a backend being opened. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Message-id: 1364292483-16564-3-git-send-email-hdegoede@redhat.com Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 26 3月, 2013 1 次提交
-
-
由 Jan Kiszka 提交于
This solves, e.g., sticky ALT when selecting a GTK menu, switching to a different window or selecting a different virtual console. Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com> Message-id: 514F417A.6010908@web.de Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 18 3月, 2013 4 次提交
-
-
由 Gerd Hoffmann 提交于
Now that nobody depends on DisplayState in DisplayChangeListener callbacks any more we can remove the parameter from all callbacks. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Gerd Hoffmann 提交于
Rework DisplayStateListener callbacks to not use the DisplayState any more. Factor out the window size handling to a separate function, so the zoom callbacks can call that directly instead of abusing the gd_switch DisplayStateListener callback for that. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Gerd Hoffmann 提交于
Replace the dpy_gfx_resize and dpy_gfx_setdata DisplayChangeListener callbacks with a dpy_gfx_switch callback which notifies the ui code when the framebuffer backing storage changes. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-
由 Gerd Hoffmann 提交于
It's broken by design. There can be multiple DisplayChangeListener instances, so they simply can't store state in the (single) DisplayState struct. Try 'qemu -display gtk -vnc :0', watch it crash & burn. With DisplayChangeListenerOps having a more sane interface now we can simply use the DisplayChangeListener pointer to get access to our private data instead. Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
-