diff -up tigervnc/unix/xserver/hw/vnc/vncHooks.cc.xorg113 tigervnc/unix/xserver/hw/vnc/vncHooks.cc --- tigervnc/unix/xserver/hw/vnc/vncHooks.cc.xorg113 2012-07-19 21:31:37.191820942 -0400 +++ tigervnc/unix/xserver/hw/vnc/vncHooks.cc 2012-07-19 21:36:00.327531293 -0400 @@ -116,7 +116,7 @@ static DevPrivateKeyRec vncHooksGCKeyRec // screen functions -static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen); +static Bool vncHooksCloseScreen(ScreenPtr pScreen); static Bool vncHooksCreateGC(GCPtr pGC); static void vncHooksCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr pOldRegion); @@ -133,7 +133,7 @@ static Bool vncHooksDisplayCursor( DeviceIntPtr pDev, #endif ScreenPtr pScreen, CursorPtr cursor); -static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout, +static void vncHooksBlockHandler(ScreenPtr pScreen_, pointer pTimeout, pointer pReadmask); #ifdef RENDER static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, @@ -335,7 +335,7 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse // CloseScreen - unwrap the screen functions and call the original CloseScreen // function -static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen_) +static Bool vncHooksCloseScreen(ScreenPtr pScreen_) { SCREEN_UNWRAP(pScreen_, CloseScreen); @@ -366,7 +366,7 @@ static Bool vncHooksCloseScreen(int i, S DBGPRINT((stderr,"vncHooksCloseScreen: unwrapped screen functions\n")); - return (*pScreen->CloseScreen)(i, pScreen); + return (*pScreen->CloseScreen)(pScreen); } // CreateGC - wrap the "GC funcs" @@ -531,14 +531,14 @@ static Bool vncHooksDisplayCursor( // BlockHandler - ignore any changes during the block handler - it's likely // these are just drawing the cursor. -static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout, +static void vncHooksBlockHandler(ScreenPtr pScreen_, pointer pTimeout, pointer pReadmask) { - SCREEN_UNWRAP(screenInfo.screens[i], BlockHandler); + SCREEN_UNWRAP(pScreen_, BlockHandler); vncHooksScreen->desktop->ignoreHooks(true); - (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); + (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask); vncHooksScreen->desktop->ignoreHooks(false); diff -up tigervnc/unix/xserver/hw/vnc/xf86vncModule.cc.xorg113 tigervnc/unix/xserver/hw/vnc/xf86vncModule.cc --- tigervnc/unix/xserver/hw/vnc/xf86vncModule.cc.xorg113 2012-07-19 21:19:27.558942606 -0400 +++ tigervnc/unix/xserver/hw/vnc/xf86vncModule.cc 2012-07-19 21:19:27.574942408 -0400 @@ -53,8 +53,6 @@ ExtensionModule vncExt = { vncExtensionInitWithParams, "VNC", - NULL, - NULL, NULL }; diff -up tigervnc/unix/xserver/hw/vnc/xorg-version.h.xorg113 tigervnc/unix/xserver/hw/vnc/xorg-version.h --- tigervnc/unix/xserver/hw/vnc/xorg-version.h.xorg113 2012-07-19 21:19:27.560942582 -0400 +++ tigervnc/unix/xserver/hw/vnc/xorg-version.h 2012-07-19 21:19:27.576942382 -0400 @@ -40,6 +40,8 @@ #define XORG 111 #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (12 * 100000) + (99 * 1000)) #define XORG 112 +#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (13 * 100000) + (99 * 1000)) +#define XORG 113 #else #error "X.Org newer than 1.10 is not supported" #endif diff -up tigervnc/unix/xserver/hw/vnc/xvnc.cc.xorg113 tigervnc/unix/xserver/hw/vnc/xvnc.cc --- tigervnc/unix/xserver/hw/vnc/xvnc.cc.xorg113 2012-07-19 21:36:33.078121854 -0400 +++ tigervnc/unix/xserver/hw/vnc/xvnc.cc 2012-07-19 21:39:49.685663920 -0400 @@ -267,7 +267,7 @@ OsVendorInit() } void -OsVendorFatalError() +OsVendorFatalError(const char *f, va_list args) { } @@ -1135,9 +1135,9 @@ static Bool vncRandRSetConfig (ScreenPtr #endif static Bool -vfbCloseScreen(int index, ScreenPtr pScreen) +vfbCloseScreen(ScreenPtr pScreen) { - vfbScreenInfoPtr pvfb = &vfbScreens[index]; + vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum]; int i; pScreen->CloseScreen = pvfb->closeScreen; @@ -1149,13 +1149,13 @@ vfbCloseScreen(int index, ScreenPtr pScr for (i = 0; i < MAXSCREENS; i++) InstalledMaps[i] = NULL; - return pScreen->CloseScreen(index, pScreen); + return pScreen->CloseScreen(pScreen); } static Bool -vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) +vfbScreenInit(ScreenPtr pScreen, int argc, char **argv) { - vfbScreenInfoPtr pvfb = &vfbScreens[index]; + vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum]; int dpi; int ret; void *pbits; @@ -1167,8 +1167,8 @@ vfbScreenInit(int index, ScreenPtr pScre pbits = vfbAllocateFramebufferMemory(&pvfb->fb); if (!pbits) return FALSE; - vncFbptr[index] = pbits; - vncFbstride[index] = pvfb->fb.paddedWidth; + vncFbptr[pScreen->myNum] = pbits; + vncFbstride[pScreen->myNum] = pvfb->fb.paddedWidth; miSetPixmapDepths(); --- tigervnc-1.2.0/unix/xserver/hw/vnc/vncExtInit.cc~ 2012-09-23 19:45:21.946623087 +0200 +++ tigervnc-1.2.0/unix/xserver/hw/vnc/vncExtInit.cc 2012-09-23 19:49:31.809947601 +0200 @@ -943,7 +943,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,