diff options
Diffstat (limited to 'libvncserver/rfbserver.c')
-rw-r--r-- | libvncserver/rfbserver.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c index cab0018..fbae203 100644 --- a/libvncserver/rfbserver.c +++ b/libvncserver/rfbserver.c @@ -3,6 +3,7 @@ */ /* + * Copyright (C) 2015 Timothy Pearson <[email protected]>. * Copyright (C) 2011-2012 D. R. Commander * Copyright (C) 2005 Rohit Kumar, Johannes E. Schindelin * Copyright (C) 2002 RealVNC Ltd. @@ -328,6 +329,7 @@ rfbNewTCPOrUDPClient(rfbScreenInfoPtr rfbScreen, cl->clientData = NULL; cl->clientGoneHook = rfbDoNothingWithClient; + cl->negotiationFinishedHook = rfbDoNothingWithClient; if(isUDP) { rfbLog(" accepted UDP client\n"); @@ -434,6 +436,7 @@ rfbNewTCPOrUDPClient(rfbScreenInfoPtr rfbScreen, cl->enableCursorPosUpdates = FALSE; cl->useRichCursorEncoding = FALSE; cl->enableLastRectEncoding = FALSE; + cl->disableBackground = FALSE; cl->enableKeyboardLedState = FALSE; cl->enableSupportedMessages = FALSE; cl->enableSupportedEncodings = FALSE; @@ -2093,6 +2096,7 @@ rfbProcessClientNormalMessage(rfbClientPtr cl) cl->enableCursorShapeUpdates = FALSE; cl->enableCursorShapeUpdates = FALSE; cl->enableLastRectEncoding = FALSE; + cl->disableBackground = FALSE; cl->enableKeyboardLedState = FALSE; cl->enableSupportedMessages = FALSE; cl->enableSupportedEncodings = FALSE; @@ -2181,6 +2185,11 @@ rfbProcessClientNormalMessage(rfbClientPtr cl) cl->enableLastRectEncoding = TRUE; } break; + case rfbEncodingBackground: + rfbLog("Disabling background for client " + "%s\n", cl->host); + cl->disableBackground = TRUE; + break; case rfbEncodingNewFBSize: if (!cl->useNewFBSize) { rfbLog("Enabling NewFBSize protocol extension for client " @@ -2335,6 +2344,8 @@ rfbProcessClientNormalMessage(rfbClientPtr cl) cl->enableCursorPosUpdates = FALSE; } + cl->negotiationFinishedHook(cl); + return; } |