qemu/ui
Cole Robinson 56f289f383 ui: sdl2: Release grab before opening console window
sdl 2.0.4 currently has a bug which causes our UI shortcuts to fire
rapidly in succession:

  https://bugzilla.libsdl.org/show_bug.cgi?id=3287

It's a toss up whether ctrl+alt+f or ctrl+alt+2 will fire an
odd or even number of times, thus determining whether the action
succeeds or fails.

Opening monitor/serial windows is doubly broken, since it will often
lock the UI trying to grab the pointer:

  0x00007fffef3720a5 in SDL_Delay_REAL () at /lib64/libSDL2-2.0.so.0
  0x00007fffef3688ba in X11_SetWindowGrab () at /lib64/libSDL2-2.0.so.0
  0x00007fffef2f2da7 in SDL_SendWindowEvent () at /lib64/libSDL2-2.0.so.0
  0x00007fffef2f080b in SDL_SetKeyboardFocus () at /lib64/libSDL2-2.0.so.0
  0x00007fffef35d784 in X11_DispatchFocusIn.isra.8 () at /lib64/libSDL2-2.0.so.0
  0x00007fffef35dbce in X11_DispatchEvent () at /lib64/libSDL2-2.0.so.0
  0x00007fffef35ee4a in X11_PumpEvents () at /lib64/libSDL2-2.0.so.0
  0x00007fffef2eea6a in SDL_PumpEvents_REAL () at /lib64/libSDL2-2.0.so.0
  0x00007fffef2eeab5 in SDL_WaitEventTimeout_REAL () at /lib64/libSDL2-2.0.so.0
  0x000055555597eed0 in sdl2_poll_events (scon=0x55555876f928) at ui/sdl2.c:593

We can work around that hang by ungrabbing the pointer before launching
a new window. This roughly matches what our sdl1 code does

Signed-off-by: Cole Robinson <crobinso@redhat.com>
Message-id: 31c9ab6540b031f7a614c59edcecea9877685612.1462557436.git.crobinso@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2016-05-11 08:02:40 +02:00
..
shader console-gl: add opengl rendering helper functions 2015-05-05 10:48:22 +02:00
cocoa.m ui/cocoa.m: Add support for cdr files 2016-04-04 13:54:44 +01:00
console-gl.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
console.c ui/virtio-gpu: add and use qemu_create_displaysurface_pixman 2016-04-11 12:32:01 +02:00
curses_keys.h ui/curses: Fix pageup/pagedown on -curses 2015-11-03 10:12:46 +01:00
curses.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
cursor_hidden.xpm
cursor_left_ptr.xpm
cursor.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
egl-context.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
egl-helpers.c Use scripts/clean-includes to drop redundant qemu/typedefs.h 2016-03-22 22:20:16 +01:00
gtk-egl.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
gtk-gl-area.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
gtk.c ui: gtk: fix crash when terminal inner-border is NULL 2016-05-11 08:02:40 +02:00
input-keymap.c qapi: Don't special-case simple union wrappers 2016-03-18 10:29:26 +01:00
input-legacy.c qapi: Don't special-case simple union wrappers 2016-03-18 10:29:26 +01:00
input-linux.c input-linux: refine mouse detection 2016-04-13 15:52:28 +02:00
input.c qapi: Don't special-case simple union wrappers 2016-03-18 10:29:26 +01:00
keymaps.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
keymaps.h
Makefile.objs input: linux evdev support 2016-03-08 12:20:11 +01:00
qemu-pixman.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
qemu-x509.h
sdl2-2d.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl2-gl.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl2-input.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl2-keymap.h
sdl2.c ui: sdl2: Release grab before opening console window 2016-05-11 08:02:40 +02:00
sdl_keysym.h
sdl_zoom_template.h
sdl_zoom.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
sdl_zoom.h
sdl.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
shader.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
spice-core.c spice: Disallow use of gl + TCP port 2016-03-24 08:04:01 +01:00
spice-display.c spice/gl: tweak debug messages. 2016-02-23 12:04:40 +01:00
spice-input.c qapi: rename input buttons 2016-03-01 08:19:07 +01:00
vgafont.h
vnc_keysym.h
vnc-auth-sasl.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
vnc-auth-sasl.h
vnc-auth-vencrypt.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
vnc-auth-vencrypt.h
vnc-enc-hextile-template.h
vnc-enc-hextile.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-tight.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-tight.h
vnc-enc-zlib.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-zrle-template.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-zrle.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-zrle.h
vnc-enc-zywrle-template.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-enc-zywrle.h
vnc-jobs.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-jobs.h
vnc-palette.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
vnc-palette.h all: Clean up includes 2016-02-23 12:43:05 +00:00
vnc-ws.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
vnc-ws.h ui: convert VNC server to use QIOChannelWebsock 2015-12-18 15:02:11 +00:00
vnc.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
vnc.h all: Clean up includes 2016-02-23 12:43:05 +00:00
x_keymap.c ui: Clean up includes 2016-02-04 17:01:04 +00:00
x_keymap.h