Merge pull request #3239 from matt335672/support_non_resizeable_vnc
Regression: Support fixed-size VNC sessions
This commit is contained in:
commit
d4c30d5fc9
19
vnc/vnc.c
19
vnc/vnc.c
@ -1248,10 +1248,6 @@ lib_framebuffer_waiting_for_resize_confirm(struct vnc *v)
|
|||||||
LOG(LOG_LEVEL_DEBUG, "VNC server successfully resized");
|
LOG(LOG_LEVEL_DEBUG, "VNC server successfully resized");
|
||||||
log_screen_layout(LOG_LEVEL_INFO, "NewLayout", &layout);
|
log_screen_layout(LOG_LEVEL_INFO, "NewLayout", &layout);
|
||||||
v->server_layout = layout;
|
v->server_layout = layout;
|
||||||
// If this resize was requested by the client mid-session
|
|
||||||
// (dynamic resize), we need to tell xrdp_mm that
|
|
||||||
// it's OK to continue with the resize state machine.
|
|
||||||
error = v->server_monitor_resize_done(v);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1259,10 +1255,23 @@ lib_framebuffer_waiting_for_resize_confirm(struct vnc *v)
|
|||||||
"VNC server resize failed - error code %d [%s]",
|
"VNC server resize failed - error code %d [%s]",
|
||||||
response_code,
|
response_code,
|
||||||
rfb_get_eds_status_msg(response_code));
|
rfb_get_eds_status_msg(response_code));
|
||||||
/* Force client to same size as server */
|
// This is awkward. The client has asked for a specific size
|
||||||
|
// which we can't support.
|
||||||
|
//
|
||||||
|
// Currently we handle this by queueing a resize to our
|
||||||
|
// supported size, and continuing with the resize state
|
||||||
|
// machine in xrdp_mm.c
|
||||||
LOG(LOG_LEVEL_WARNING, "Resizing client to server");
|
LOG(LOG_LEVEL_WARNING, "Resizing client to server");
|
||||||
error = resize_client_to_server(v, 0);
|
error = resize_client_to_server(v, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (error == 0)
|
||||||
|
{
|
||||||
|
// If this resize was requested by the client mid-session
|
||||||
|
// (dynamic resize), we need to tell xrdp_mm that
|
||||||
|
// it's OK to continue with the resize state machine.
|
||||||
|
error = v->server_monitor_resize_done(v);
|
||||||
|
}
|
||||||
v->resize_status = VRS_DONE;
|
v->resize_status = VRS_DONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user