qemu/ui
Daniel P. Berrangé 55b400497c ui: avoid sending framebuffer updates outside client desktop bounds
We plan framebuffer update rects based on the VNC server surface. If the
client doesn't support desktop resize, then the client bounds may differ
from the server surface bounds. VNC clients may become upset if we then
send an update message outside the bounds of the client desktop.

This takes the approach of clamping the rectangles from the worker
thread immediately before sending them. This may sometimes results in
sending a framebuffer update message with zero rectangles.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210311182957.486939-3-berrange@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2021-03-15 17:37:50 +01:00
..
icons configure: move directory options from config-host.mak to meson 2020-10-26 07:08:38 -04:00
keycodemapdb@6119e6e19a ui: update keycodemapdb submodule commit 2021-01-29 17:07:53 +00:00
shader meson: clean up build_by_default 2020-09-30 19:09:19 +02:00
cocoa.m ui/cocoa: Do not exit immediately after shutdown 2021-03-15 17:37:50 +01: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: Replace the word 'whitelist' 2021-03-09 22:13:32 +01:00
curses.c curses: Fixes curses compiling errors. 2020-10-14 06:05:56 +02:00
curses_keys.h
cursor.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
cursor_hidden.xpm
cursor_left_ptr.xpm
egl-context.c ui: remove gl_ctx_get_current 2021-02-04 15:58:54 +01:00
egl-headless.c ui: remove gl_ctx_get_current 2021-02-04 15:58:54 +01:00
egl-helpers.c configure: Improve OpenGL dependency detections 2021-03-04 09:35:30 +01: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: mostly cocoa fixes 2021-03-12 13:53:44 +00:00
input-barrier.c input-barrier: Register properties as class properties 2020-10-13 15:56:30 -04:00
input-barrier.h ui: add an embedded Barrier client 2019-09-17 13:43:22 +02:00
input-keymap.c meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
input-legacy.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
input-linux.c machine + QOM queue, 2020-10-14 2020-10-15 16:35:06 +01:00
input.c qapi: Use QAPI_LIST_PREPEND() where possible 2020-12-19 10:20:14 +01:00
kbd-state.c Include qemu/queue.h slightly less 2019-08-16 13:31:52 +02:00
keymaps.c vl: extract softmmu/datadir.c 2020-12-10 12:15:18 -05:00
keymaps.h Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
meson.build configure: Improve OpenGL dependency detections 2021-03-04 09:35:30 +01:00
qemu-pixman.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +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 ui/sdl2-input: use trace-events to debug key events 2020-05-19 09:06:44 +02:00
sdl2.c ui: remove gl_ctx_get_current 2021-02-04 15:58:54 +01:00
shader.c meson: convert ui directory to Meson 2020-08-21 06:30:21 -04:00
spice-app.c spice-app: avoid crash when core spice module doesn't loaded 2021-02-19 15:00:13 +01:00
spice-core.c ui: deprecate "password" option for SPICE server 2021-03-15 17:37:44 +01:00
spice-display.c ui/console: Pass placeholder surface to displays 2021-03-04 09:35:36 +01:00
spice-input.c spice: move add_interface() to QemuSpiceOps. 2020-10-21 15:46:14 +02:00
spice-module.c spice: wire up monitor in QemuSpiceOps. 2020-10-21 15:46:14 +02:00
trace-events ui: avoid sending framebuffer updates outside client desktop bounds 2021-03-15 17:37:50 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vgafont.h
vnc-auth-sasl.c ui: Replace the word 'whitelist' 2021-03-09 22:13:32 +01:00
vnc-auth-sasl.h Include qemu/main-loop.h less 2019-08-16 13:31:52 +02:00
vnc-auth-vencrypt.c vnc: fix resource leak when websocket channel error 2020-11-04 08:25:17 +01:00
vnc-auth-vencrypt.h
vnc-enc-hextile-template.h
vnc-enc-hextile.c
vnc-enc-tight.c vnc: Remove the superfluous break 2020-09-01 08:36:53 +02:00
vnc-enc-tight.h
vnc-enc-zlib.c vnc: fix memory leak when vnc disconnect 2019-09-17 13:45:10 +02:00
vnc-enc-zrle.c meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
vnc-enc-zrle.c.inc meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
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: fix resource leak when websocket channel error 2020-11-04 08:25:17 +01:00
vnc-ws.h
vnc.c ui: add more trace points for VNC client/server messages 2021-03-15 17:37:50 +01:00
vnc.h vnc: add support for extended desktop resize 2021-01-15 11:22:43 +01:00
vnc_keysym.h
win32-kbd-hook.c ui/win32-kbd-hook: handle AltGr in a hook procedure 2020-05-19 09:06:44 +02:00
x_keymap.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
x_keymap.h