summaryrefslogtreecommitdiffstats
path: root/x11vnc/remote.c
diff options
context:
space:
mode:
authorrunge <runge>2006-01-22 03:56:23 +0000
committerrunge <runge>2006-01-22 03:56:23 +0000
commit1967913e9530139eb355b7b3108bb12314ba47da (patch)
treef6bcde8135b62c53d9c9a99cf4a655a6bad86b74 /x11vnc/remote.c
parent17e6b6a2bf6def6b380bee2fcc0fb9e8254518f4 (diff)
downloadlibtdevnc-1967913e9530139eb355b7b3108bb12314ba47da.tar.gz
libtdevnc-1967913e9530139eb355b7b3108bb12314ba47da.zip
x11vnc: -8to24 opts, use XGetSubImage. fix -threads deadlocks and -rawfb crash
Diffstat (limited to 'x11vnc/remote.c')
-rw-r--r--x11vnc/remote.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/x11vnc/remote.c b/x11vnc/remote.c
index 8fb7e51..cb1fa7b 100644
--- a/x11vnc/remote.c
+++ b/x11vnc/remote.c
@@ -563,6 +563,7 @@ int remote_control_access_ok(void) {
rfbLog("XAUTHORITY is not required on display.\n");
rfbLog(" %s\n", DisplayString(dpy));
XCloseDisplay(dpy2);
+ dpy2 = NULL;
return 0;
}
@@ -1005,6 +1006,26 @@ char *process_remote_cmd(char *cmd, int stringonly) {
cmap8to24 = 0;
do_new_fb(0);
+ } else if (strstr(p, "8to24_opts") == p) {
+ COLON_CHECK("8to24_opts:")
+ if (query) {
+ snprintf(buf, bufn, "ans=%s%s%s", p, co,
+ NONUL(cmap8to24_str));
+ goto qry;
+ }
+ p += strlen("8to24_opts:");
+ if (cmap8to24_str) {
+ free(cmap8to24_str);
+ }
+ cmap8to24_str = strdup(p);
+ if (*p == '\0') {
+ cmap8to24 = 0;
+ } else {
+ cmap8to24 = 1;
+ }
+ rfbLog("remote_cmd: set cmap8to24_str to: %s\n", cmap8to24_str);
+ do_new_fb(0);
+
} else if (strstr(p, "visual") == p) {
COLON_CHECK("visual:")
if (query) {