Fix VNC backend regression

Fix a regression introduced in v0.10.x, where it became impossible to
connect to a VNC server which did not support the ExtendedDesktopSize
encoding.

(cherry picked from commit 6b25bdb7db487ff73152643815d55977d7a7efda)
This commit is contained in:
matt335672
2025-07-31 17:07:35 +01:00
parent f3cd14fd61
commit 51cc4f50a2
+11 -7
View File
@@ -407,18 +407,22 @@ resize_server_to_client_layout(struct vnc *v)
{
int error = 0;
if (v->resize_supported != VRSS_SUPPORTED)
{
LOG(LOG_LEVEL_ERROR, "%s: Asked to resize server, but not possible",
__func__);
error = 1;
}
else if (vnc_screen_layouts_equal(&v->server_layout, &v->client_layout))
/* Before checking the 'resize_supported' flag, see if this
* is a null operation. We can get here if the server doesn't
* support resize, and we've queued a request to resize the client
* to the server size */
if (vnc_screen_layouts_equal(&v->server_layout, &v->client_layout))
{
LOG(LOG_LEVEL_DEBUG, "Server layout is the same "
"as the client layout");
v->resize_status = VRS_DONE;
}
else if (v->resize_supported != VRSS_SUPPORTED)
{
LOG(LOG_LEVEL_ERROR, "%s: Asked to resize server, but not possible",
__func__);
error = 1;
}
else
{
/*