summaryrefslogtreecommitdiffstats
path: root/tigervnc
diff options
context:
space:
mode:
Diffstat (limited to 'tigervnc')
-rw-r--r--tigervnc/build/patches/tigervnc13_screenindex.patch68
-rw-r--r--tigervnc/build/patches/tigervnc13_typecast.patch14
2 files changed, 82 insertions, 0 deletions
diff --git a/tigervnc/build/patches/tigervnc13_screenindex.patch b/tigervnc/build/patches/tigervnc13_screenindex.patch
new file mode 100644
index 00000000..1d677ead
--- /dev/null
+++ b/tigervnc/build/patches/tigervnc13_screenindex.patch
@@ -0,0 +1,68 @@
+The screen index was removed in 1.13, not 1.12.
+Bug found and patched by Koichiro IWAO.
+
+--- a/trunk/unix/xserver/hw/vnc/vncHooks.cc
++++ b/trunk/unix/xserver/hw/vnc/vncHooks.cc
+@@ -119,7 +119,7 @@
+
+ // screen functions
+
+-#if XORG < 112
++#if XORG <= 112
+ static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen);
+ #else
+ static Bool vncHooksCloseScreen(ScreenPtr pScreen);
+@@ -140,7 +140,7 @@
+ DeviceIntPtr pDev,
+ #endif
+ ScreenPtr pScreen, CursorPtr cursor);
+-#if XORG < 112
++#if XORG <= 112
+ static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
+ pointer pReadmask);
+ #else
+@@ -367,7 +367,7 @@
+ // CloseScreen - unwrap the screen functions and call the original CloseScreen
+ // function
+
+-#if XORG < 112
++#if XORG <= 112
+ static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen_)
+ #else
+ static Bool vncHooksCloseScreen(ScreenPtr pScreen_)
+@@ -405,7 +405,7 @@
+
+ DBGPRINT((stderr,"vncHooksCloseScreen: unwrapped screen functions\n"));
+
+-#if XORG < 112
++#if XORG <= 112
+ return (*pScreen->CloseScreen)(i, pScreen);
+ #else
+ return (*pScreen->CloseScreen)(pScreen);
+@@ -574,7 +574,7 @@
+ // BlockHandler - ignore any changes during the block handler - it's likely
+ // these are just drawing the cursor.
+
+-#if XORG < 112
++#if XORG <= 112
+ static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
+ pointer pReadmask)
+ #else
+@@ -582,7 +582,7 @@
+ pointer pReadmask)
+ #endif
+ {
+-#if XORG < 112
++#if XORG <= 112
+ SCREEN_UNWRAP(screenInfo.screens[i], BlockHandler);
+ #else
+ SCREEN_UNWRAP(pScreen_, BlockHandler);
+@@ -590,7 +590,7 @@
+
+ vncHooksScreen->desktop->ignoreHooks(true);
+
+-#if XORG < 112
++#if XORG <= 112
+ (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
+ #else
+ (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);
diff --git a/tigervnc/build/patches/tigervnc13_typecast.patch b/tigervnc/build/patches/tigervnc13_typecast.patch
new file mode 100644
index 00000000..a25e93c3
--- /dev/null
+++ b/tigervnc/build/patches/tigervnc13_typecast.patch
@@ -0,0 +1,14 @@
+Do a better type cast that mirrors how we generate
+opaqueId in the first place. Patch by Michal Srb.
+
+--- a/trunk/unix/xserver/hw/vnc/vncExtInit.cc
++++ b/trunk/unix/xserver/hw/vnc/vncExtInit.cc
+@@ -1070,7 +1070,7 @@
+ {
+ REQUEST(xVncExtApproveConnectReq);
+ REQUEST_SIZE_MATCH(xVncExtApproveConnectReq);
+- if (queryConnectId == (void*)stuff->opaqueId) {
++ if ((CARD32)(long)queryConnectId == stuff->opaqueId) {
+ for (int scr = 0; scr < screenInfo.numScreens; scr++) {
+ if (desktop[scr]) {
+ desktop[scr]->approveConnection(queryConnectId, stuff->approve,