diff options
Diffstat (limited to 'tigervnc')
-rw-r--r-- | tigervnc/build/patches/tigervnc13_screenindex.patch | 68 | ||||
-rw-r--r-- | tigervnc/build/patches/tigervnc13_typecast.patch | 14 |
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, |