@ -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 [ ] )