summaryrefslogtreecommitdiffstats
path: root/x11vnc/connections.c
diff options
context:
space:
mode:
authorrunge <runge>2007-02-10 21:52:26 +0000
committerrunge <runge>2007-02-10 21:52:26 +0000
commit90d96b971f04b11fe1902091a94be94697738766 (patch)
tree8331ed14521fd8e7b997465d6f482d521f4537cb /x11vnc/connections.c
parent76720eb71bb18ec452ec1782af9f8b8d09e77efc (diff)
downloadlibtdevnc-90d96b971f04b11fe1902091a94be94697738766.tar.gz
libtdevnc-90d96b971f04b11fe1902091a94be94697738766.zip
x11vnc: watch textchat, etc in unixpw, implement kbdReleaseAllKeys, setSingleWindow, setServerInput. watch for OpenGL apps breaking XDAMAGE.
Diffstat (limited to 'x11vnc/connections.c')
-rw-r--r--x11vnc/connections.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/x11vnc/connections.c b/x11vnc/connections.c
index 61e59b4..5e5ebd4 100644
--- a/x11vnc/connections.c
+++ b/x11vnc/connections.c
@@ -657,6 +657,12 @@ void client_gone(rfbClientPtr client) {
if (unixpw_in_progress && unixpw_client) {
if (client == unixpw_client) {
unixpw_in_progress = 0;
+ screen->permitFileTransfer = unixpw_file_xfer_save;
+ if ((filexfer = unixpw_tightvnc_xfer_save)) {
+#ifdef LIBVNCSERVER_WITH_TIGHTVNC_FILETRANSFER
+ rfbRegisterTightVNCFileTransferExtension();
+#endif
+ }
unixpw_client = NULL;
copy_screen();
}
@@ -2155,6 +2161,15 @@ enum rfbNewClientAction new_client(rfbClientPtr client) {
unixpw_in_progress = 1;
unixpw_client = client;
unixpw_login_viewonly = 0;
+
+ unixpw_file_xfer_save = screen->permitFileTransfer;
+ screen->permitFileTransfer = FALSE;
+ unixpw_tightvnc_xfer_save = filexfer;
+ filexfer = 0;
+#ifdef LIBVNCSERVER_WITH_TIGHTVNC_FILETRANSFER
+ rfbUnregisterTightVNCFileTransferExtension();
+#endif
+
if (client->viewOnly) {
unixpw_login_viewonly = 1;
client->viewOnly = FALSE;