qemu/ui
Volker Rümelin 584af1f1d9 ui/gtk: add a keyboard fifo to the VTE consoles
Since commit 8eb13bbbac ("ui/gtk: vte: fix sending multiple
characeters") it's very easy to lock up QEMU with the GTK ui.
If you configure a guest with a serial device and the guest
doesn't listen on this device, QEMU will lock up after
entering two characters in the serial console. That's because
current code uses a busy loop for the chardev write retries
and the busy loop doesn't terminate in this case.

To fix this problem add a fifo to the VTE consoles and use the
chr_accept_input() callback function to write the remaining
characters in the queue to the chardev.

The fifo has a size of 4096 bytes, so one can copy and paste
a fairly large URL or file path.

Fixes: 8eb13bbbac ("ui/gtk: vte: fix sending multiple characeters")
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20210725165039.5242-1-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2021-07-26 10:24:49 +02:00
..
icons
keycodemapdb@d21009b1c9 ui: update keycodemapdb submodule commit 2021-07-26 10:24:49 +02:00
shader
clipboard.c ui/cocoa: Add clipboard support 2021-06-23 14:26:04 +02:00
cocoa.m ui/cocoa: Fix the type of main's argv 2021-07-26 10:24:49 +02:00
console-gl.c opengl: Do not convert format with glTexImage2D on OpenGL ES 2021-03-15 17:37:49 +01:00
console.c ui: Make the DisplayType enum entries conditional 2021-06-23 14:42:30 +02:00
curses_keys.h
curses.c
cursor_hidden.xpm
cursor_left_ptr.xpm
cursor.c
egl-context.c ui: remove gl_ctx_get_current 2021-02-04 15:58:54 +01:00
egl-headless.c ui/egl-headless: Remove a check for CONFIG_OPENGL 2021-07-26 10:24:49 +02:00
egl-helpers.c configure: Improve OpenGL dependency detections 2021-03-04 09:35:30 +01:00
gtk-clipboard.c ui/gtk: add clipboard support 2021-05-21 09:42:44 +02:00
gtk-egl.c configure: Improve OpenGL dependency detections 2021-03-04 09:35:30 +01:00
gtk-gl-area.c configure: Improve OpenGL dependency detections 2021-03-04 09:35:30 +01:00
gtk.c ui/gtk: add a keyboard fifo to the VTE consoles 2021-07-26 10:24:49 +02:00
input-barrier.c
input-barrier.h
input-keymap.c
input-legacy.c
input-linux.c
input.c qapi: Use QAPI_LIST_PREPEND() where possible 2020-12-19 10:20:14 +01:00
kbd-state.c
keymaps.c vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
keymaps.h
meson.build ui: Get the fd associated with udmabuf driver 2021-05-27 12:06:01 +02:00
qemu-pixman.c ui/pixman: Add qemu_pixman_to_drm_format() 2021-05-27 12:07:37 +02:00
qemu-x509.h
qemu.desktop
sdl2-2d.c ui/console: Pass placeholder surface to displays 2021-03-04 09:35:36 +01:00
sdl2-gl.c ui/console: Pass placeholder surface to displays 2021-03-04 09:35:36 +01:00
sdl2-input.c
sdl2.c modules: add ui module annotations 2021-07-09 18:20:27 +02:00
shader.c
spice-app.c ui/spice: Use HAVE_SPICE_GL for OpenGL checks 2021-07-26 10:24:49 +02:00
spice-core.c ui/spice: Use HAVE_SPICE_GL for OpenGL checks 2021-07-26 10:24:49 +02:00
spice-display.c ui/spice-display: check NULL pointer in interface_release_resource() 2021-05-21 09:42:44 +02:00
spice-input.c
spice-module.c
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h
udmabuf.c ui: Get the fd associated with udmabuf driver 2021-05-27 12:06:01 +02:00
vdagent.c ui/vdagent: add clipboard support 2021-05-21 09:42:44 +02:00
vgafont.h
vnc_keysym.h
vnc-auth-sasl.c vnc: avoid deprecation warnings for SASL on OS X 2021-06-15 17:17:09 +02:00
vnc-auth-sasl.h vnc: avoid deprecation warnings for SASL on OS X 2021-06-15 17:17:09 +02:00
vnc-auth-vencrypt.c
vnc-auth-vencrypt.h
vnc-clipboard.c ui/vnc: clipboard support 2021-05-21 09:42:44 +02:00
vnc-enc-hextile-template.h
vnc-enc-hextile.c
vnc-enc-tight.c
vnc-enc-tight.h
vnc-enc-zlib.c
vnc-enc-zrle.c
vnc-enc-zrle.c.inc
vnc-enc-zrle.h
vnc-enc-zywrle-template.c
vnc-enc-zywrle.h
vnc-jobs.c ui: avoid sending framebuffer updates outside client desktop bounds 2021-03-15 17:37:50 +01:00
vnc-jobs.h
vnc-palette.c
vnc-palette.h
vnc-stubs.c vnc: support "-vnc help" 2021-01-23 15:55:07 -05:00
vnc-ws.c
vnc-ws.h
vnc.c crypto: replace 'des-rfb' cipher with 'des' 2021-07-14 14:15:52 +01:00
vnc.h ui/vnc: clipboard support 2021-05-21 09:42:44 +02:00
win32-kbd-hook.c
x_keymap.c ui: Fix memory leak in qemu_xkeymap_mapping_table() 2021-05-02 17:24:50 +02:00
x_keymap.h