portage-stable: Upgrade x11-misc/x11vnc to version 0.9.13.

Upgrade to latest x11vnc package from Portage. Also, mark amd64, arm and
x86 builds stable.

The primary reason for upgrading this package is to pick up the
upstreamed patch for shared memory handling during early exit.

BUG=chrome-os-partner:16097
TEST=build + run test image, confirm that vncviewer can connect to device.

Change-Id: Icae79154a888bef74d5178d2a90102f0249b17eb
Reviewed-on: https://gerrit.chromium.org/gerrit/38246
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Shawn Nematbakhsh <shawnn@google.com>
Commit-Ready: Shawn Nematbakhsh <shawnn@google.com>
This commit is contained in:
Shawn Nematbakhsh 2012-11-16 15:35:41 -08:00 committed by Gerrit
parent bf17e776ba
commit 5b006e2276
8 changed files with 104 additions and 356 deletions

View File

@ -0,0 +1,14 @@
DEFINED_PHASES=configure install prepare setupSES=configure install prepare setup
DEPEND=system-libvncserver? ( >=net-libs/libvncserver-0.9.7[threads=,jpeg=,zlib=] ) !system-libvncserver? ( zlib? ( sys-libs/zlib ) jpeg? ( virtual/jpeg:0 ) ) ssl? ( dev-libs/openssl ) tk? ( dev-lang/tk ) avahi? ( >=net-dns/avahi-0.6.4 ) xinerama? ( x11-libs/libXinerama ) x11-libs/libXfixes x11-libs/libXrandr x11-libs/libX11 >=x11-libs/libXtst-1.1.0 x11-libs/libXdamage x11-libs/libXext x11-libs/libXt xinerama? ( x11-proto/xineramaproto ) x11-proto/inputproto x11-proto/trapproto x11-proto/recordproto x11-proto/xproto x11-proto/xextproto
DESCRIPTION=A VNC server for real X displays
EAPI=4
HOMEPAGE=http://www.karlrunge.com/x11vnc/
IUSE=avahi crypt fbcon +jpeg ssl system-libvncserver threads tk xinerama +zlib
KEYWORDS=~alpha amd64 arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris
LICENSE=GPL-2
RDEPEND=system-libvncserver? ( >=net-libs/libvncserver-0.9.7[threads=,jpeg=,zlib=] ) !system-libvncserver? ( zlib? ( sys-libs/zlib ) jpeg? ( virtual/jpeg:0 ) ) ssl? ( dev-libs/openssl ) tk? ( dev-lang/tk ) avahi? ( >=net-dns/avahi-0.6.4 ) xinerama? ( x11-libs/libXinerama ) x11-libs/libXfixes x11-libs/libXrandr x11-libs/libX11 >=x11-libs/libXtst-1.1.0 x11-libs/libXdamage x11-libs/libXext
SLOT=0
SRC_URI=mirror://sourceforge/libvncserver/x11vnc-0.9.13.tar.gz
_eclasses_=eutils d40dc948067bd3db1c8ebf7d51897313 multilib 9aa8a023e062fca0ba79362d9d0cc488 toolchain-funcs 134429b842a6c67254bfd76a8753e4d4 user d0a4d0735a6c0183d707ca919bd72f28
_md5_=ad77fe8e4d6464b572bf4738ca0af87f

View File

@ -1,13 +0,0 @@
DEFINED_PHASES=configure install prepare setup
DEPEND=system-libvncserver? ( >=net-libs/libvncserver-0.9.7[threads=,jpeg=,zlib=] ) !system-libvncserver? ( zlib? ( sys-libs/zlib ) jpeg? ( virtual/jpeg:0 ) ) ssl? ( dev-libs/openssl ) avahi? ( >=net-dns/avahi-0.6.4 ) xinerama? ( x11-libs/libXinerama ) x11-libs/libXfixes x11-libs/libXrandr x11-libs/libX11 >=x11-libs/libXtst-1.1.0 x11-libs/libXdamage x11-libs/libXext x11-libs/libXt xinerama? ( x11-proto/xineramaproto ) x11-proto/inputproto x11-proto/trapproto x11-proto/recordproto x11-proto/xproto x11-proto/xextproto
DESCRIPTION=A VNC server for real X displays
EAPI=2
HOMEPAGE=http://www.karlrunge.com/x11vnc/
IUSE=fbcon +jpeg +zlib threads ssl crypt xinerama avahi system-libvncserver
KEYWORDS=alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris
LICENSE=GPL-2
RDEPEND=system-libvncserver? ( >=net-libs/libvncserver-0.9.7[threads=,jpeg=,zlib=] ) !system-libvncserver? ( zlib? ( sys-libs/zlib ) jpeg? ( virtual/jpeg:0 ) ) ssl? ( dev-libs/openssl ) avahi? ( >=net-dns/avahi-0.6.4 ) xinerama? ( x11-libs/libXinerama ) x11-libs/libXfixes x11-libs/libXrandr x11-libs/libX11 >=x11-libs/libXtst-1.1.0 x11-libs/libXdamage x11-libs/libXext
SLOT=0
SRC_URI=mirror://sourceforge/libvncserver/x11vnc-0.9.9.tar.gz
_eclasses_=eutils 33ef77a15337022e05342d2c772a7a5a multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29
_md5_=54841d6249ee6100bac2ceed6fa2658e

View File

@ -1 +1 @@
DIST x11vnc-0.9.9.tar.gz 2671958 RMD160 1b1335253c1f40f69ffbfdff5c4c5f28ed6315c3 SHA1 deb0c71cc0f7d6b99fb4b1484232aa935fe62c90 SHA256 6b960267b1f842efe5fb76b5d36fbee79ca8ea31528ee83877623e1cca0fbbe9
DIST x11vnc-0.9.13.tar.gz 2853769 RMD160 5819a4ae85b25b41fb747ccafd27e228c3ee888e SHA1 f011d81488ac94dc8dce2d88739c23bd85a976fa SHA256 f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b

View File

@ -1,273 +0,0 @@
From 8307143230b877b5e6ce1a667c977f7de6a465ce Mon Sep 17 00:00:00 2001
From: Johannes Schindelin <johannes.schindelin@gmx.de>
Date: Thu, 12 Aug 2010 14:27:41 +0200
Subject: [PATCH 1/1] Rename pointer() to do_pointer() to fix bug 3043646
[contains compile fixes by fk hp]
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
x11vnc/connections.c | 2 +-
x11vnc/keyboard.c | 4 ++--
x11vnc/pointer.c | 24 ++++++++++++------------
x11vnc/pointer.h | 2 +-
x11vnc/remote.c | 6 +++---
x11vnc/scan.c | 4 ++--
x11vnc/screen.c | 2 +-
x11vnc/userinput.c | 8 ++++----
8 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/x11vnc/connections.c b/x11vnc/connections.c
index d1af60e..5dd80ba 100644
--- a/x11vnc/connections.c
+++ b/x11vnc/connections.c
@@ -3149,7 +3149,7 @@ static void pmove(int x, int y) {
return;
}
rfbLog("pmove: x y: %d %d\n", x, y);
- pointer(0, x, y, NULL);
+ do_pointer(0, x, y, NULL);
X_LOCK;
XFlush_wr(dpy);
X_UNLOCK;
diff --git a/x11vnc/keyboard.c b/x11vnc/keyboard.c
index edce680..212c8e8 100644
--- a/x11vnc/keyboard.c
+++ b/x11vnc/keyboard.c
@@ -2898,9 +2898,9 @@ static void pipe_keyboard(rfbBool down, rfbKeySym keysym, rfbClientPtr client) {
t[1] = '\0';
if (sscanf(t, "%d", &butt) == 1) {
mask = 1<<(butt-1);
- pointer(mask, x, y, client);
+ do_pointer(mask, x, y, client);
mask = 0;
- pointer(mask, x, y, client);
+ do_pointer(mask, x, y, client);
}
b++;
}
diff --git a/x11vnc/pointer.c b/x11vnc/pointer.c
index 097a43c..0c42dc8 100644
--- a/x11vnc/pointer.c
+++ b/x11vnc/pointer.c
@@ -54,7 +54,7 @@ int pointer_queued_sent = 0;
void initialize_pointer_map(char *pointer_remap);
void do_button_mask_change(int mask, int button);
-void pointer(int mask, int x, int y, rfbClientPtr client);
+void do_pointer(int mask, int x, int y, rfbClientPtr client);
void initialize_pipeinput(void);
int check_pipeinput(void);
void update_x11_pointer_position(int x, int y);
@@ -417,7 +417,7 @@ void do_button_mask_change(int mask, int button) {
continue;
}
if (debug_pointer) {
- rfbLog("pointer(): sending button %d"
+ rfbLog("do_pointer(): sending button %d"
" %s (event %d)\n", mb, bmask
? "down" : "up", k+1);
}
@@ -436,7 +436,7 @@ void do_button_mask_change(int mask, int button) {
if (debug_pointer && dpy) {
char *str = XKeysymToString(XKeycodeToKeysym(
dpy, key, 0));
- rfbLog("pointer(): sending button %d "
+ rfbLog("do_pointer(): sending button %d "
"down as keycode 0x%x (event %d)\n",
i+1, key, k+1);
rfbLog(" down=%d up=%d keysym: "
@@ -569,7 +569,7 @@ if (debug_scroll > 1) fprintf(stderr, "internal scrollbar: %dx%d\n", w, h);
for (i=0; i < MAX_BUTTONS; i++) {
if ( (button_mask & (1<<i)) != (mask & (1<<i)) ) {
if (debug_pointer) {
- rfbLog("pointer(): mask change: mask: 0x%x -> "
+ rfbLog("do_pointer(): mask change: mask: 0x%x -> "
"0x%x button: %d\n", button_mask, mask,i+1);
}
do_button_mask_change(mask, i+1); /* button # is i+1 */
@@ -668,7 +668,7 @@ static void pipe_pointer(int mask, int x, int y, rfbClientPtr client) {
* This may queue pointer events rather than sending them immediately
* to the X server. (see update_x11_pointer*())
*/
-void pointer(int mask, int x, int y, rfbClientPtr client) {
+void do_pointer(int mask, int x, int y, rfbClientPtr client) {
allowed_input_t input;
int sent = 0, buffer_it = 0;
double now;
@@ -698,7 +698,7 @@ void pointer(int mask, int x, int y, rfbClientPtr client) {
dt = tnow - last_pointer;
last_pointer = tnow;
if (show_motion) {
- rfbLog("# pointer(mask: 0x%x, x:%4d, y:%4d) "
+ rfbLog("# do_pointer(mask: 0x%x, x:%4d, y:%4d) "
"dx: %3d dy: %3d dt: %.4f t: %.4f\n", mask, x, y,
x - last_x, y - last_y, dt, tnow);
}
@@ -789,7 +789,7 @@ void pointer(int mask, int x, int y, rfbClientPtr client) {
}
if (! ok) {
if (debug_pointer) {
- rfbLog("pointer(): blackout_ptr skipping "
+ rfbLog("do_pointer(): blackout_ptr skipping "
"x=%d y=%d in rectangle %d,%d %d,%d\n", x, y,
blackr[b].x1, blackr[b].y1,
blackr[b].x2, blackr[b].y2);
@@ -860,7 +860,7 @@ void pointer(int mask, int x, int y, rfbClientPtr client) {
ev[i][2] = -1;
}
if (debug_pointer) {
- rfbLog("pointer(): deferring event %d"
+ rfbLog("do_pointer(): deferring event %d"
" %.4f\n", i, tmr - x11vnc_start);
}
POINTER_UNLOCK;
@@ -883,7 +883,7 @@ void pointer(int mask, int x, int y, rfbClientPtr client) {
}
}
if (debug_pointer) {
- rfbLog("pointer(): sending event %d %.4f\n",
+ rfbLog("do_pointer(): sending event %d %.4f\n",
i+1, dnowx());
}
if (ev[i][1] >= 0) {
@@ -903,7 +903,7 @@ void pointer(int mask, int x, int y, rfbClientPtr client) {
if (dpy) { /* raw_fb hack */
if (mask < 0) {
if (debug_pointer) {
- rfbLog("pointer(): calling XFlush "
+ rfbLog("do_pointer(): calling XFlush "
"%.4f\n", dnowx());
}
X_LOCK;
@@ -920,7 +920,7 @@ void pointer(int mask, int x, int y, rfbClientPtr client) {
}
if (mask < 0) { /* -1 just means flush the event queue */
if (debug_pointer) {
- rfbLog("pointer(): flush only. %.4f\n",
+ rfbLog("do_pointer(): flush only. %.4f\n",
dnowx());
}
INPUT_UNLOCK;
@@ -953,7 +953,7 @@ void pointer(int mask, int x, int y, rfbClientPtr client) {
X_UNLOCK;
} else if (buffer_it) {
if (debug_pointer) {
- rfbLog("pointer(): calling XFlush+"
+ rfbLog("do_pointer(): calling XFlush+"
"%.4f\n", dnowx());
}
X_LOCK;
diff --git a/x11vnc/pointer.h b/x11vnc/pointer.h
index 558f381..56f659c 100644
--- a/x11vnc/pointer.h
+++ b/x11vnc/pointer.h
@@ -39,7 +39,7 @@ extern int pointer_queued_sent;
extern void initialize_pointer_map(char *pointer_remap);
extern void do_button_mask_change(int mask, int button);
-extern void pointer(int mask, int x, int y, rfbClientPtr client);
+extern void do_pointer(int mask, int x, int y, rfbClientPtr client);
extern int check_pipeinput(void);
extern void initialize_pipeinput(void);
extern void update_x11_pointer_position(int x, int y);
diff --git a/x11vnc/remote.c b/x11vnc/remote.c
index 6b2903b..dfa9aa4 100644
--- a/x11vnc/remote.c
+++ b/x11vnc/remote.c
@@ -4426,9 +4426,9 @@ char *process_remote_cmd(char *cmd, int stringonly) {
p += strlen("ptr:");
rfbLog("remote_cmd: insert pointer event: %s\n", p);
if (sscanf(p, "%d,%d,%d", &x, &y, &m) == 3) {
- pointer(m, x, y, NULL);
+ do_pointer(m, x, y, NULL);
} else if (sscanf(p, "%d,%d", &x, &y) == 2) {
- pointer(m, x, y, NULL);
+ do_pointer(m, x, y, NULL);
} else {
rfbLog("remote_cmd: bad ptr:x,y,mask\n");
}
@@ -4593,7 +4593,7 @@ char *process_remote_cmd(char *cmd, int stringonly) {
} else if (strstr(res, "GRAB_FAIL") && try < max_tries) {
rfbLog("bcx_xattach: failed grab check for '%s': %s. Retrying[%d]...\n", p, res, try);
free(res);
- pointer(0, dpy_x/2 + try, dpy_y/2 + try, NULL);
+ do_pointer(0, dpy_x/2 + try, dpy_y/2 + try, NULL);
#if !NO_X11
X_LOCK;
XFlush_wr(dpy);
diff --git a/x11vnc/scan.c b/x11vnc/scan.c
index 7ef931c..23121f7 100644
--- a/x11vnc/scan.c
+++ b/x11vnc/scan.c
@@ -3550,7 +3550,7 @@ int scan_for_updates(int count_only) {
fb_copy_in_progress = 0;
SCAN_FATAL(cs);
if (use_threads && pointer_mode != 1) {
- pointer(-1, 0, 0, NULL);
+ do_pointer(-1, 0, 0, NULL);
}
nap_check(tile_count);
return tile_count;
@@ -3637,7 +3637,7 @@ if (tile_count) fprintf(stderr, "XX copytile: %.4f tile_count: %d\n", dnow() -
* tell the pointer handler it can process any queued
* pointer events:
*/
- pointer(-1, 0, 0, NULL);
+ do_pointer(-1, 0, 0, NULL);
}
if (blackouts) {
diff --git a/x11vnc/screen.c b/x11vnc/screen.c
index c41774c..5988ace 100644
--- a/x11vnc/screen.c
+++ b/x11vnc/screen.c
@@ -3538,7 +3538,7 @@ void initialize_screen(int *argc, char **argv, XImage *fb) {
/* event callbacks: */
screen->newClientHook = new_client;
screen->kbdAddEvent = keyboard;
- screen->ptrAddEvent = pointer;
+ screen->ptrAddEvent = do_pointer;
screen->setXCutText = xcut_receive;
screen->setTranslateFunction = set_xlate_wrapper;
diff --git a/x11vnc/userinput.c b/x11vnc/userinput.c
index 8c83080..b4cb8fa 100644
--- a/x11vnc/userinput.c
+++ b/x11vnc/userinput.c
@@ -3008,12 +3008,12 @@ if (db) fprintf(stderr, "check_xrecord: BUTTON-UP-KEEP-GOING: %.3f/%.3f %d/%d %
pointer_queued_sent = 0;
last_x = cursor_x;
last_y = cursor_y;
- pointer(-1, 0, 0, NULL);
+ do_pointer(-1, 0, 0, NULL);
pointer_flush_delay = 0.0;
if (xrecording && pointer_queued_sent && button_mask_save &&
(last_x != cursor_x || last_y != cursor_y) ) {
-if (db) fprintf(stderr, " pointer() push yields events on: ret=%d\n", ret);
+if (db) fprintf(stderr, " do_pointer() push yields events on: ret=%d\n", ret);
if (ret == 2) {
if (db) fprintf(stderr, " we decide to send ret=3\n");
want_back_in = 1;
@@ -4509,7 +4509,7 @@ if (db) fprintf(stderr, "INTERIOR\n");
}
/*
- * pointer() should have snapped the stacking list for us, if
+ * do_pointer() should have snapped the stacking list for us, if
* not, do it now (if the XFakeButtonEvent has been flushed by
* now the stacking order may be incorrect).
*/
@@ -4565,7 +4565,7 @@ if (db) fprintf(stderr, "INTERIOR\n");
/* -threads support for check_wireframe() is rough... crash? */
if (use_threads) {
/* purge any stored up pointer events: */
- pointer(-1, 0, 0, NULL);
+ do_pointer(-1, 0, 0, NULL);
}
if (cursor_noshape_updates_clients(screen)) {
--
1.6.3

View File

@ -1,57 +0,0 @@
diff -ru a/x11vnc/libvncserver/tightvnc-filetransfer/filetransfermsg.c b/x11vnc/libvncserver/tightvnc-filetransfer/filetransfermsg.c
--- a/x11vnc/libvncserver/tightvnc-filetransfer/filetransfermsg.c 2009-10-07 15:21:23.000000000 -0500
+++ b/x11vnc/libvncserver/tightvnc-filetransfer/filetransfermsg.c 2010-09-11 18:49:58.100074877 -0500
@@ -393,7 +393,7 @@
CreateFileDownloadZeroSizeDataMsg(unsigned long mTime)
{
FileTransferMsg fileDownloadZeroSizeDataMsg;
- int length = sz_rfbFileDownloadDataMsg + sizeof(int);
+ int length = sz_rfbFileDownloadDataMsg + sizeof(unsigned long);
rfbFileDownloadDataMsg *pFDD = NULL;
char *pFollow = NULL;
diff -ru a/x11vnc/x11vnc/remote.c b/x11vnc/x11vnc/remote.c
--- a/x11vnc/x11vnc/remote.c 2010-09-09 22:46:48.000000000 -0500
+++ b/x11vnc/x11vnc/remote.c 2010-09-11 18:18:37.948074878 -0500
@@ -5825,7 +5825,7 @@
}
if (!strcmp(p, "vncdisplay")) {
snprintf(buf, bufn, "aro=%s:%s", p,
- NONUL(vnc_desktop_name));
+ vnc_desktop_name);
goto qry;
}
if (!strcmp(p, "icon_mode")) {
@@ -6027,7 +6027,7 @@
if (!strcmp(p, "h") || !strcmp(p, "help") ||
!strcmp(p, "V") || !strcmp(p, "version") ||
!strcmp(p, "lastmod")) {
- snprintf(buf, bufn, "aro=%s:%s", p, NONUL(lastmod));
+ snprintf(buf, bufn, "aro=%s:%s", p, lastmod);
goto qry;
}
if (!strcmp(p, "bg")) {
diff -ru a/x11vnc/x11vnc/sslhelper.c b/x11vnc/x11vnc/sslhelper.c
--- a/x11vnc/x11vnc/sslhelper.c 2010-09-09 22:46:48.000000000 -0500
+++ b/x11vnc/x11vnc/sslhelper.c 2010-09-11 18:19:42.436074878 -0500
@@ -4004,7 +4004,7 @@
strncpy(last_get, rcookie, 100);
if (db) fprintf(stderr, "last_get: '%s'\n", last_get);
}
- if (rcookie && strstr(rcookie, "VncViewer.class")) {
+ if (strstr(rcookie, "VncViewer.class")) {
rfbLog("\n");
rfbLog("helper[%d]:\n", pid);
rfbLog("***********************************************************\n");
diff -ru a/x11vnc/x11vnc/userinput.c b/x11vnc/x11vnc/userinput.c
--- a/x11vnc/x11vnc/userinput.c 2010-09-09 22:46:48.000000000 -0500
+++ b/x11vnc/x11vnc/userinput.c 2010-09-11 18:20:29.692074878 -0500
@@ -1305,7 +1305,7 @@
int font_size = 15;
int win_y, scr_y, loc_cut = 4*font_size, y_cut = 10*font_size;
- if (!xrecord_set_by_keys || !xrecord_name_info) {
+ if (!xrecord_set_by_keys) {
return 0;
}
if (xrecord_name_info[0] == '\0') {

View File

@ -0,0 +1,35 @@
fix that is already in upstream x11vnc-0.9.14 dev
from ChromiumOS:
x11vnc: Fix shm close on early shutdown.
Global structures {scanline,fullscreen,scanrect}_shm are initialized to
zero, including the .shmid field. This creates problems when shutdown /
clean_shm is called before these structures are properly initialized in
initialize_polling_images. shm_delete will be called on the structure,
and since the shmid isn't -1, shmctl(id, IPC_RMID...) will be called for
id=0. id=0 is in fact a valid shmid, and it might belong to some other
shared memory for some other processes, creating many potential problems.
Fix is to initialize shmid to -1 to indicate that it is in fact
uninitialized.
https://gerrit.chromium.org/gerrit/37971
--- a/x11vnc/x11vnc_defs.c
+++ b/x11vnc/x11vnc_defs.c
@@ -82,10 +82,10 @@
XImage *raw_fb_image = NULL; /* the raw fb */
/* corresponding shm structures */
-XShmSegmentInfo scanline_shm;
-XShmSegmentInfo fullscreen_shm;
+XShmSegmentInfo scanline_shm = {.shmid = -1};
+XShmSegmentInfo fullscreen_shm = {.shmid = -1};
XShmSegmentInfo *tile_row_shm; /* for all possible row runs */
-XShmSegmentInfo snaprect_shm;
+XShmSegmentInfo snaprect_shm = {.shmid = -1};
/* rfb screen info */
rfbScreenInfoPtr screen = NULL;

View File

@ -0,0 +1,42 @@
--- x11vnc-0.9.13.orig/x11vnc/remote.c
+++ x11vnc-0.9.13/x11vnc/remote.c
@@ -5860,7 +5860,7 @@
}
if (!strcmp(p, "vncdisplay")) {
snprintf(buf, bufn, "aro=%s:%s", p,
- NONUL(vnc_desktop_name));
+ vnc_desktop_name);
goto qry;
}
if (!strcmp(p, "icon_mode")) {
@@ -6062,7 +6062,7 @@
if (!strcmp(p, "h") || !strcmp(p, "help") ||
!strcmp(p, "V") || !strcmp(p, "version") ||
!strcmp(p, "lastmod")) {
- snprintf(buf, bufn, "aro=%s:%s", p, NONUL(lastmod));
+ snprintf(buf, bufn, "aro=%s:%s", p, lastmod);
goto qry;
}
if (!strcmp(p, "bg")) {
--- x11vnc-0.9.13.orig/x11vnc/sslhelper.c
+++ x11vnc-0.9.13/x11vnc/sslhelper.c
@@ -4041,7 +4041,7 @@
strncpy(last_get, rcookie, 100);
if (db) fprintf(stderr, "last_get: '%s'\n", last_get);
}
- if (rcookie && strstr(rcookie, "VncViewer.class")) {
+ if (strstr(rcookie, "VncViewer.class")) {
rfbLog("\n");
rfbLog("helper[%d]:\n", pid);
rfbLog("***********************************************************\n");
--- x11vnc-0.9.13.orig/x11vnc/userinput.c
+++ x11vnc-0.9.13/x11vnc/userinput.c
@@ -1305,7 +1305,7 @@
int font_size = 15;
int win_y, scr_y, loc_cut = 4*font_size, y_cut = 10*font_size;
- if (!xrecord_set_by_keys || !xrecord_name_info) {
+ if (!xrecord_set_by_keys) {
return 0;
}
if (xrecord_name_info[0] == '\0') {

View File

@ -1,8 +1,8 @@
# Copyright 1999-2011 Gentoo Foundation
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-misc/x11vnc/x11vnc-0.9.9.ebuild,v 1.14 2011/11/01 03:56:58 ssuominen Exp $
# $Header: /var/cvsroot/gentoo-x86/x11-misc/x11vnc/x11vnc-0.9.13-r1.ebuild,v 1.1 2012/11/15 21:06:42 vapier Exp $
EAPI="2"
EAPI="4"
inherit eutils
@ -12,8 +12,8 @@ SRC_URI="mirror://sourceforge/libvncserver/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="fbcon +jpeg +zlib threads ssl crypt xinerama avahi system-libvncserver"
KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="avahi crypt fbcon +jpeg ssl system-libvncserver threads tk xinerama +zlib"
RDEPEND="system-libvncserver? ( >=net-libs/libvncserver-0.9.7[threads=,jpeg=,zlib=] )
!system-libvncserver? (
@ -21,6 +21,7 @@ RDEPEND="system-libvncserver? ( >=net-libs/libvncserver-0.9.7[threads=,jpeg=,zli
jpeg? ( virtual/jpeg:0 )
)
ssl? ( dev-libs/openssl )
tk? ( dev-lang/tk )
avahi? ( >=net-dns/avahi-0.6.4 )
xinerama? ( x11-libs/libXinerama )
x11-libs/libXfixes
@ -29,7 +30,6 @@ RDEPEND="system-libvncserver? ( >=net-libs/libvncserver-0.9.7[threads=,jpeg=,zli
>=x11-libs/libXtst-1.1.0
x11-libs/libXdamage
x11-libs/libXext"
DEPEND="${RDEPEND}
x11-libs/libXt
xinerama? ( x11-proto/xineramaproto )
@ -40,17 +40,15 @@ DEPEND="${RDEPEND}
x11-proto/xextproto"
pkg_setup() {
if use avahi && ! use threads
then
if use avahi && ! use threads ; then
ewarn "Non-native avahi support has been enabled."
ewarn "Native avahi support can be enabled by also enabling the threads USE flag."
fi
}
src_prepare() {
epatch \
"${FILESDIR}"/${PN}-0.9.11-rename-pointer.patch \
"${FILESDIR}"/${PN}-0.9.12-warnings.patch
epatch "${FILESDIR}"/${P}-warnings.patch
epatch "${FILESDIR}"/${P}-shm-cleanup.patch
}
src_configure() {
@ -70,6 +68,8 @@ src_configure() {
}
src_install() {
emake DESTDIR="${D}" install || die "make install failed"
emake DESTDIR="${D}" install
dodoc x11vnc/{ChangeLog,README}
# Remove include files, which conflict with net-libs/libvncserver
rm -rf "${D}"/usr/include
}