summaryrefslogtreecommitdiff
path: root/community/tigervnc/xorg113.patch
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-01-24 00:06:07 -0800
committerroot <root@rshg054.dnsready.net>2013-01-24 00:06:07 -0800
commitcb33decb284fa3b08652b04f7290d9d4140a927f (patch)
treee7f2c99536d9a7bc61ca30107cf99cb22064b61f /community/tigervnc/xorg113.patch
parent91fea2e90c87b282a3bb39b080b8c51eb52cdbbe (diff)
Thu Jan 24 00:06:07 PST 2013
Diffstat (limited to 'community/tigervnc/xorg113.patch')
-rw-r--r--community/tigervnc/xorg113.patch275
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();
+