From 2452db99aba0541c43892aa32ae4772a9d60f41c Mon Sep 17 00:00:00 2001 From: James Muehlner Date: Wed, 11 Sep 2024 22:07:38 +0000 Subject: [PATCH] GUACAMOLE-1196: Read VNC dimensions directly from the client, not the screen. --- src/protocols/vnc/display.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/protocols/vnc/display.c b/src/protocols/vnc/display.c index b52cbe58d..1175e5380 100644 --- a/src/protocols/vnc/display.c +++ b/src/protocols/vnc/display.c @@ -51,16 +51,10 @@ void guac_vnc_update(rfbClient* client, int x, int y, int w, int h) { guac_client* gc = rfbClientGetClientData(client, GUAC_VNC_CLIENT_KEY); guac_vnc_client* vnc_client = (guac_vnc_client*) gc->data; -#ifdef LIBVNC_CLIENT_HAS_SCREEN - int new_height = rfbClientSwap16IfLE(client->screen.height); - int new_width = rfbClientSwap16IfLE(client->screen.width); -#else - int new_height = rfbClientSwap16IfLE(client->height); - int new_width = rfbClientSwap16IfLE(client->width); -#endif - /* Resize the surface if VNC screen size has changed */ + int new_height = client->height; int old_height = vnc_client->display->default_surface->height; + int new_width = client->width; int old_width = vnc_client->display->default_surface->width; if ( new_height > 0 && new_width > 0