diff options
author | runge <runge> | 2006-01-22 03:56:23 +0000 |
---|---|---|
committer | runge <runge> | 2006-01-22 03:56:23 +0000 |
commit | 1967913e9530139eb355b7b3108bb12314ba47da (patch) | |
tree | f6bcde8135b62c53d9c9a99cf4a655a6bad86b74 /x11vnc/remote.c | |
parent | 17e6b6a2bf6def6b380bee2fcc0fb9e8254518f4 (diff) | |
download | libtdevnc-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.c | 21 |
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) { |