Always send current screen layout to client
This is what the protocol requires, rather than sending what the
client specified in the request. This should be the same in practice
except for failures and possibly some races.
diff --git a/common/rfb/VNCSConnectionST.cxx b/common/rfb/VNCSConnectionST.cxx
index 15b2f9a..e4e5ab3 100644
--- a/common/rfb/VNCSConnectionST.cxx
+++ b/common/rfb/VNCSConnectionST.cxx
@@ -716,8 +716,7 @@
// Don't bother the desktop with an invalid configuration
if (!layout.validate(fb_width, fb_height)) {
- writer()->writeExtendedDesktopSize(reasonClient, resultInvalid,
- fb_width, fb_height, layout);
+ writer()->writeExtendedDesktopSize(reasonClient, resultInvalid);
return;
}
@@ -726,8 +725,7 @@
// protocol-wise, but unnecessary.
result = server->desktop->setScreenLayout(fb_width, fb_height, layout);
- writer()->writeExtendedDesktopSize(reasonClient, result,
- fb_width, fb_height, layout);
+ writer()->writeExtendedDesktopSize(reasonClient, result);
// Only notify other clients on success
if (result == resultSuccess) {
@@ -1127,9 +1125,7 @@
if (state() != RFBSTATE_NORMAL)
return;
- writer()->writeExtendedDesktopSize(reason, 0,
- client.width(), client.height(),
- client.screenLayout());
+ writer()->writeExtendedDesktopSize(reason, 0);
}