diff options
author | root <root@rshg054.dnsready.net> | 2013-01-24 00:06:07 -0800 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-01-24 00:06:07 -0800 |
commit | cb33decb284fa3b08652b04f7290d9d4140a927f (patch) | |
tree | e7f2c99536d9a7bc61ca30107cf99cb22064b61f /community/tigervnc/xorg113.patch | |
parent | 91fea2e90c87b282a3bb39b080b8c51eb52cdbbe (diff) |
Thu Jan 24 00:06:07 PST 2013
Diffstat (limited to 'community/tigervnc/xorg113.patch')
-rw-r--r-- | community/tigervnc/xorg113.patch | 275 |
1 files changed, 275 insertions, 0 deletions
diff --git a/community/tigervnc/xorg113.patch b/community/tigervnc/xorg113.patch new file mode 100644 index 000000000..505e0a758 --- /dev/null +++ b/community/tigervnc/xorg113.patch @@ -0,0 +1,275 @@ +diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/vncHooks.cc tigervnc-1.2.0/unix/xserver/hw/vnc/vncHooks.cc +--- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/vncHooks.cc 2012-01-23 16:54:11.000000000 +0100 ++++ tigervnc-1.2.0/unix/xserver/hw/vnc/vncHooks.cc 2012-09-06 18:53:26.392282102 +0200 +@@ -116,7 +116,11 @@ + + // screen functions + ++#if XORG < 112 + static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen); ++#else ++static Bool vncHooksCloseScreen(ScreenPtr pScreen); ++#endif + static Bool vncHooksCreateGC(GCPtr pGC); + static void vncHooksCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, + RegionPtr pOldRegion); +@@ -133,8 +137,13 @@ + DeviceIntPtr pDev, + #endif + ScreenPtr pScreen, CursorPtr cursor); ++#if XORG < 112 + static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout, + pointer pReadmask); ++#else ++static void vncHooksBlockHandler(ScreenPtr pScreen, pointer pTimeout, ++ pointer pReadmask); ++#endif + #ifdef RENDER + static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, + PicturePtr pDst, INT16 xSrc, INT16 ySrc, INT16 xMask, +@@ -335,7 +344,11 @@ + // CloseScreen - unwrap the screen functions and call the original CloseScreen + // function + ++#if XORG < 112 + static Bool vncHooksCloseScreen(int i, ScreenPtr pScreen_) ++#else ++static Bool vncHooksCloseScreen(ScreenPtr pScreen_) ++#endif + { + SCREEN_UNWRAP(pScreen_, CloseScreen); + +@@ -366,7 +379,11 @@ + + DBGPRINT((stderr,"vncHooksCloseScreen: unwrapped screen functions\n")); + ++#if XORG < 112 + return (*pScreen->CloseScreen)(i, pScreen); ++#else ++ return (*pScreen->CloseScreen)(pScreen); ++#endif + } + + // CreateGC - wrap the "GC funcs" +@@ -531,14 +548,27 @@ + // BlockHandler - ignore any changes during the block handler - it's likely + // these are just drawing the cursor. + ++#if XORG < 112 + static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout, + pointer pReadmask) ++#else ++static void vncHooksBlockHandler(ScreenPtr pScreen_, pointer pTimeout, ++ pointer pReadmask) ++#endif + { ++#if XORG < 112 + SCREEN_UNWRAP(screenInfo.screens[i], BlockHandler); ++#else ++ SCREEN_UNWRAP(pScreen_, BlockHandler); ++#endif + + vncHooksScreen->desktop->ignoreHooks(true); + ++#if XORG < 112 + (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); ++#else ++ (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask); ++#endif + + vncHooksScreen->desktop->ignoreHooks(false); + +diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xf86vncModule.cc tigervnc-1.2.0/unix/xserver/hw/vnc/xf86vncModule.cc +--- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xf86vncModule.cc 2012-09-06 18:52:54.668284962 +0200 ++++ tigervnc-1.2.0/unix/xserver/hw/vnc/xf86vncModule.cc 2012-09-06 18:53:26.393282091 +0200 +@@ -53,8 +53,10 @@ + { + vncExtensionInitWithParams, + "VNC", ++#if XORG < 112 + NULL, + NULL, ++#endif + NULL + }; + +diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xorg-version.h tigervnc-1.2.0/unix/xserver/hw/vnc/xorg-version.h +--- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xorg-version.h 2012-09-06 18:52:54.669284923 +0200 ++++ tigervnc-1.2.0/unix/xserver/hw/vnc/xorg-version.h 2012-09-06 18:53:26.393282091 +0200 +@@ -40,8 +40,10 @@ + #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" ++#error "X.Org newer than 1.13 is not supported" + #endif + + #endif +diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xvnc.cc tigervnc-1.2.0/unix/xserver/hw/vnc/xvnc.cc +--- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/xvnc.cc 2012-09-06 18:52:51.896283812 +0200 ++++ tigervnc-1.2.0/unix/xserver/hw/vnc/xvnc.cc 2012-09-06 18:59:25.784263082 +0200 +@@ -285,7 +285,11 @@ + } + + void ++#if XORG < 113 + OsVendorFatalError() ++#else ++OsVendorFatalError(const char *f, va_list args) ++#endif + { + } + +@@ -626,14 +630,25 @@ + } + #endif + ++#if XORG < 113 + static ColormapPtr InstalledMaps[MAXSCREENS]; ++#else ++static DevPrivateKeyRec cmapScrPrivateKeyRec; ++#define cmapScrPrivateKey (&cmapScrPrivateKeyRec) ++#define GetInstalledColormap(s) ((ColormapPtr) dixLookupPrivate(&(s)->devPrivates, cmapScrPrivateKey)) ++#define SetInstalledColormap(s,c) (dixSetPrivate(&(s)->devPrivates, cmapScrPrivateKey, c)) ++#endif + + static int + vfbListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps) + { + /* By the time we are processing requests, we can guarantee that there + * is always a colormap installed */ ++#if XORG < 113 + *pmaps = InstalledMaps[pScreen->myNum]->mid; ++#else ++ *pmaps = GetInstalledColormap(pScreen)->mid; ++#endif + return (1); + } + +@@ -641,8 +656,16 @@ + static void + vfbInstallColormap(ColormapPtr pmap) + { ++#if XORG < 113 + int index = pmap->pScreen->myNum; +- ColormapPtr oldpmap = InstalledMaps[index]; ++#endif ++ ColormapPtr oldpmap; ++ ++#if XORG < 113 ++ oldpmap = InstalledMaps[index]; ++#else ++ oldpmap = GetInstalledColormap(pmap->pScreen); ++#endif + + if (pmap != oldpmap) + { +@@ -656,7 +679,11 @@ + if(oldpmap != (ColormapPtr)None) + WalkTree(pmap->pScreen, TellLostMap, (char *)&oldpmap->mid); + /* Install pmap */ ++#if XORG < 113 + InstalledMaps[index] = pmap; ++#else ++ SetInstalledColormap(pmap->pScreen, pmap); ++#endif + WalkTree(pmap->pScreen, TellGainedMap, (char *)&pmap->mid); + + entries = pmap->pVisual->ColormapEntries; +@@ -692,7 +719,11 @@ + static void + vfbUninstallColormap(ColormapPtr pmap) + { ++#if XORG < 113 + ColormapPtr curpmap = InstalledMaps[pmap->pScreen->myNum]; ++#else ++ ColormapPtr curpmap = GetInstalledColormap(pmap->pScreen); ++#endif + + if(pmap == curpmap) + { +@@ -1153,31 +1184,66 @@ + #endif + + static Bool ++#if XORG < 113 + vfbCloseScreen(int index, ScreenPtr pScreen) ++#else ++vfbCloseScreen(ScreenPtr pScreen) ++#endif + { ++#if XORG < 113 + vfbScreenInfoPtr pvfb = &vfbScreens[index]; ++#else ++ vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum]; ++#endif + int i; + + pScreen->CloseScreen = pvfb->closeScreen; + + /* + * XXX probably lots of stuff to clean. For now, +- * clear InstalledMaps[] so that server reset works correctly. ++ * clear installed colormaps so that server reset works correctly. + */ ++#if XORG < 113 + for (i = 0; i < MAXSCREENS; i++) + InstalledMaps[i] = NULL; + + return pScreen->CloseScreen(index, pScreen); ++#else ++ for (i = 0; i < screenInfo.numScreens; i++) ++ SetInstalledColormap(screenInfo.screens[i], NULL); ++ ++ /* ++ * fb overwrites miCloseScreen, so do this here ++ */ ++ if (pScreen->devPrivate) ++ (*pScreen->DestroyPixmap) ((PixmapPtr) pScreen->devPrivate); ++ pScreen->devPrivate = NULL; ++ ++ return pScreen->CloseScreen(pScreen); ++#endif + } + + static Bool ++#if XORG < 113 + vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) ++#else ++vfbScreenInit(ScreenPtr pScreen, int argc, char **argv) ++#endif + { ++#if XORG < 113 + vfbScreenInfoPtr pvfb = &vfbScreens[index]; ++#else ++ vfbScreenInfoPtr pvfb = &vfbScreens[pScreen->myNum]; ++#endif + int dpi; + int ret; + void *pbits; + ++#if XORG >= 113 ++ if (!dixRegisterPrivateKey(&cmapScrPrivateKeyRec, PRIVATE_SCREEN, 0)) ++ return FALSE; ++#endif ++ + /* 96 is the default used by most other systems */ + dpi = 96; + if (monitorResolution) +@@ -1185,8 +1251,13 @@ + + pbits = vfbAllocateFramebufferMemory(&pvfb->fb); + if (!pbits) return FALSE; ++#if XORG < 113 + vncFbptr[index] = pbits; + vncFbstride[index] = pvfb->fb.paddedWidth; ++#else ++ vncFbptr[pScreen->myNum] = pbits; ++ vncFbstride[pScreen->myNum] = pvfb->fb.paddedWidth; ++#endif + + miSetPixmapDepths(); + |