Send back an ExtendedDesktopSize to a SetDesktopSize request even when resize is not allowed

pull/214/head
Lauri Kasanen 1 year ago
parent 3bc1024e7f
commit 127ab45329
No known key found for this signature in database

@ -997,8 +997,8 @@ void VNCSConnectionST::setDesktopSize(int fb_width, int fb_height,
{ {
unsigned int result; unsigned int result;
if (!(accessRights & AccessSetDesktopSize)) return; if (!(accessRights & AccessSetDesktopSize)) goto justnotify;
if (!rfb::Server::acceptSetDesktopSize) return; if (!rfb::Server::acceptSetDesktopSize) goto justnotify;
// Don't bother the desktop with an invalid configuration // Don't bother the desktop with an invalid configuration
if (!layout.validate(fb_width, fb_height)) { if (!layout.validate(fb_width, fb_height)) {
@ -1021,6 +1021,14 @@ void VNCSConnectionST::setDesktopSize(int fb_width, int fb_height,
throw Exception("Desktop configured a different screen layout than requested"); throw Exception("Desktop configured a different screen layout than requested");
server->notifyScreenLayoutChange(this); server->notifyScreenLayoutChange(this);
} }
return;
justnotify:
writer()->writeExtendedDesktopSize(reasonClient, resultProhibited,
server->pb->getRect().width(),
server->pb->getRect().height(),
server->screenLayout);
} }
void VNCSConnectionST::fence(rdr::U32 flags, unsigned len, const char data[]) void VNCSConnectionST::fence(rdr::U32 flags, unsigned len, const char data[])

Loading…
Cancel
Save