Date: Wednesday, July 30, 2014 @ 19:20:47 Author: spupykin Revision: 116596
upgpkg: tigervnc 1.3.1-3 upd Added: tigervnc/trunk/xorg116.patch tigervnc/trunk/xserver116.patch Modified: tigervnc/trunk/PKGBUILD Deleted: tigervnc/trunk/xorg115.patch ------------------+ PKGBUILD | 37 +++--- xorg115.patch | 15 -- xorg116.patch | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++++ xserver116.patch | 115 +++++++++++++++++++++ 4 files changed, 420 insertions(+), 32 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-07-30 16:26:39 UTC (rev 116595) +++ PKGBUILD 2014-07-30 17:20:47 UTC (rev 116596) @@ -1,22 +1,22 @@ -# $Id$ # Maintainer: Sergej Pupykin <pupykin.s+a...@gmail.com> # Maintainer: Uroš Vampl <mobile.leecher at gmail dot com> pkgname=tigervnc pkgver=1.3.1 -pkgrel=2 -_xorgver=1.15.2 -pkgdesc="suite of VNC servers and clients. VNC 4 branch of TightVNC." +pkgrel=3 +_xorgver=1.16.0 +pkgdesc="Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC." arch=('i686' 'x86_64') url="http://www.tigervnc.org" license=('GPL') depends=('fltk' 'pam' 'gnutls' 'libjpeg-turbo' 'libxtst' 'libxfont' 'pixman' 'xorg-xauth' 'xorg-xsetroot' 'xkeyboard-config' 'xorg-xkbcomp' - 'libgl' 'libgcrypt' 'perl' ) + 'libgl' 'mesa' 'libgcrypt' 'perl' ) makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto' 'compositeproto' 'damageproto' 'randrproto' 'resourceproto' 'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto' - 'xtrans' 'mesa' 'glproto' 'dri2proto' 'imagemagick') + 'xtrans' 'glproto' 'dri2proto' 'dri3proto' 'presentproto' + 'imagemagick') conflicts=('tightvnc') source=(http://downloads.sourceforge.net/project/tigervnc/tigervnc/$pkgver/tigervnc-$pkgver.tar.gz ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2 @@ -24,22 +24,28 @@ vncviewer.desktop gethomedir.patch getmaster.patch - xorg115.patch) + xorg116.patch + xserver116.patch) md5sums=('e80b16aa74f1d8e89f284a6aef99955d' - '69229fe5cdf3f20f74665d57b7601d26' + '8a9ff6ee9907360f09b5bdabb8089502' '0903d5a0dfa38e0b04964505b644585c' 'b200d83c60e80c6f9693ea19a2d9f5b0' '22f1523a0eca56ad79cfabd0db6e2cf6' 'e056a2502dfe0cb3b02e08cab689482f' - 'd7765cb11be43b557ee77dfa486fdb68') + 'e212f9d268a62af0349183a495bc55a5' + '8b735b553efedd34cdeafc600be50a2a') prepare() { cd ${srcdir}/${pkgname}-${pkgver} - cp -r ${srcdir}/xorg-server-${_xorgver}/* unix/xserver patch -Np1 -i ${srcdir}/gethomedir.patch patch -Np1 -i ${srcdir}/getmaster.patch - patch -Np1 -i ${srcdir}/xorg115.patch + patch -Np1 -i ${srcdir}/xorg116.patch + sed -i 's/iconic/nowin/' unix/vncserver + + cd unix/xserver + cp -r ${srcdir}/xorg-server-${_xorgver}/* . + patch -Np1 -i ${srcdir}/xserver116.patch } build() { @@ -49,16 +55,14 @@ make cd unix/xserver - patch -Np1 -i ../xserver114.patch autoreconf -fiv ./configure --prefix=/usr \ - --disable-wayland --disable-present --disable-dri3 \ --disable-static --disable-xinerama --without-dtrace \ --disable-xorg --disable-xnest --disable-xvfb --disable-dmx \ - --disable-xwin --disable-xephyr --disable-kdrive --with-pic \ - --disable-config-dbus --disable-config-hal --disable-config-udev \ + --disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \ + --disable-config-hal --disable-config-udev --with-pic \ --disable-unit-tests --disable-devel-docs --disable-selective-werror \ - --disable-dri --enable-dri2 --enable-glx --enable-glx-tls + --disable-dri --enable-dri2 --enable-dri3 --enable-glx --enable-glx-tls make } @@ -67,7 +71,6 @@ make DESTDIR=${pkgdir} install cd unix/xserver/hw/vnc make DESTDIR=${pkgdir} install - sed -i 's/iconic/nowin/' ${pkgdir}/usr/bin/vncserver install -Dm0644 $srcdir/vncserver.service $pkgdir/usr/lib/systemd/system/vncserver.service install -Dm0644 $srcdir/vncviewer.desktop $pkgdir/usr/share/applications/vncviewer.desktop } Deleted: xorg115.patch =================================================================== --- xorg115.patch 2014-07-30 16:26:39 UTC (rev 116595) +++ xorg115.patch 2014-07-30 17:20:47 UTC (rev 116596) @@ -1,15 +0,0 @@ -diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h ---- tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx 2013-07-01 08:41:24.000000000 -0400 -+++ tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h 2013-11-07 11:39:49.749992669 -0500 -@@ -44,8 +44,10 @@ - #define XORG 113 - #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (14 * 100000) + (99 * 1000)) - #define XORG 114 -+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (15 * 100000) + (99 * 1000)) -+#define XORG 115 - #else --#error "X.Org newer than 1.14 is not supported" -+#error "X.Org newer than 1.15 is not supported" - #endif - - #endif Added: xorg116.patch =================================================================== --- xorg116.patch (rev 0) +++ xorg116.patch 2014-07-30 17:20:47 UTC (rev 116596) @@ -0,0 +1,285 @@ +diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/Input.cc tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc +--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/Input.cc 2013-05-30 16:53:40.000000000 +0200 ++++ tigervnc-1.3.1/unix/xserver/hw/vnc/Input.cc 2014-07-19 00:36:53.722520543 +0200 +@@ -262,7 +262,7 @@ + return Success; + } + +-static void keyboardBell(int percent, DeviceIntPtr device, pointer ctrl, ++static void keyboardBell(int percent, DeviceIntPtr device, void * ctrl, + int class_) + { + if (percent > 0) +diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/vncExtInit.cc tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc +--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/vncExtInit.cc 2013-07-01 14:48:31.000000000 +0200 ++++ tigervnc-1.3.1/unix/xserver/hw/vnc/vncExtInit.cc 2014-07-19 00:36:53.724520543 +0200 +@@ -65,18 +65,18 @@ + + extern void vncExtensionInit(); + static void vncResetProc(ExtensionEntry* extEntry); +- static void vncBlockHandler(pointer data, OSTimePtr t, pointer readmask); +- static void vncWakeupHandler(pointer data, int nfds, pointer readmask); ++ static void vncBlockHandler(void * data, OSTimePtr t, void * readmask); ++ static void vncWakeupHandler(void * data, int nfds, void * readmask); + void vncWriteBlockHandler(fd_set *fds); + void vncWriteWakeupHandler(int nfds, fd_set *fds); +- static void vncClientStateChange(CallbackListPtr*, pointer, pointer); ++ static void vncClientStateChange(CallbackListPtr*, void *, void *); + static void SendSelectionChangeEvent(Atom selection); + static int ProcVncExtDispatch(ClientPtr client); + static int SProcVncExtDispatch(ClientPtr client); +- static void vncSelectionCallback(CallbackListPtr *callbacks, pointer data, +- pointer args); ++ static void vncSelectionCallback(CallbackListPtr *callbacks, void * data, ++ void * args); + +- extern char *display; ++ extern const char *display; + extern char *listenaddr; + } + +@@ -285,7 +285,7 @@ + { + } + +-static void vncSelectionCallback(CallbackListPtr *callbacks, pointer data, pointer args) ++static void vncSelectionCallback(CallbackListPtr *callbacks, void * data, void * args) + { + SelectionInfoRec *info = (SelectionInfoRec *) args; + Selection *selection = info->selection; +@@ -302,7 +302,7 @@ + // selections have changed, and if so, notify any interested X clients. + // + +-static void vncBlockHandler(pointer data, OSTimePtr timeout, pointer readmask) ++static void vncBlockHandler(void * data, OSTimePtr timeout, void * readmask) + { + fd_set* fds = (fd_set*)readmask; + +@@ -313,7 +313,7 @@ + desktop[scr]->blockHandler(fds, timeout); + } + +-static void vncWakeupHandler(pointer data, int nfds, pointer readmask) ++static void vncWakeupHandler(void * data, int nfds, void * readmask) + { + fd_set* fds = (fd_set*)readmask; + +@@ -403,7 +403,7 @@ + vncWriteWakeupHandler(ret, &fallbackFds); + } + +-static void vncClientStateChange(CallbackListPtr*, pointer, pointer p) ++static void vncClientStateChange(CallbackListPtr*, void *, void * p) + { + ClientPtr client = ((NewClientInfoRec*)p)->client; + if (client->clientState == ClientStateGone) { +@@ -469,7 +469,7 @@ + + + static CARD32 queryConnectTimerCallback(OsTimerPtr timer, +- CARD32 now, pointer arg) ++ CARD32 now, void * arg) + { + if (queryConnectTimeout) + queryConnectDesktop->approveConnection(queryConnectId, false, "The attempt to prompt the user to accept the connection failed"); +diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/vncHooks.cc tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc +--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/vncHooks.cc 2013-05-22 14:57:16.000000000 +0200 ++++ tigervnc-1.3.1/unix/xserver/hw/vnc/vncHooks.cc 2014-07-19 00:36:53.725520543 +0200 +@@ -91,8 +91,8 @@ + } vncHooksScreenRec, *vncHooksScreenPtr; + + typedef struct { +- GCFuncs *wrappedFuncs; +- GCOps *wrappedOps; ++ const GCFuncs *wrappedFuncs; ++ const GCOps *wrappedOps; + } vncHooksGCRec, *vncHooksGCPtr; + + #if XORG == 15 +@@ -141,11 +141,11 @@ + #endif + ScreenPtr pScreen, CursorPtr cursor); + #if XORG < 112 +-static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout, +- pointer pReadmask); ++static void vncHooksBlockHandler(int i, void * blockData, void * pTimeout, ++ void * pReadmask); + #else +-static void vncHooksBlockHandler(ScreenPtr pScreen, pointer pTimeout, +- pointer pReadmask); ++static void vncHooksBlockHandler(ScreenPtr pScreen, void * pTimeout, ++ void * pReadmask); + #endif + #ifdef RENDER + static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, +@@ -174,7 +174,7 @@ + static void vncHooksChangeGC(GCPtr pGC, unsigned long mask); + static void vncHooksCopyGC(GCPtr src, unsigned long mask, GCPtr dst); + static void vncHooksDestroyGC(GCPtr pGC); +-static void vncHooksChangeClip(GCPtr pGC, int type, pointer pValue,int nrects); ++static void vncHooksChangeClip(GCPtr pGC, int type, void * pValue,int nrects); + static void vncHooksDestroyClip(GCPtr pGC); + static void vncHooksCopyClip(GCPtr dst, GCPtr src); + +@@ -226,10 +226,10 @@ + int count, unsigned short *chars); + static void vncHooksImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, + int y, unsigned int nglyph, +- CharInfoPtr *ppci, pointer pglyphBase); ++ CharInfoPtr *ppci, void * pglyphBase); + static void vncHooksPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, + int y, unsigned int nglyph, +- CharInfoPtr *ppci, pointer pglyphBase); ++ CharInfoPtr *ppci, void * pglyphBase); + static void vncHooksPushPixels(GCPtr pGC, PixmapPtr pBitMap, + DrawablePtr pDrawable, int w, int h, int x, + int y); +@@ -575,11 +575,11 @@ + // these are just drawing the cursor. + + #if XORG < 112 +-static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout, +- pointer pReadmask) ++static void vncHooksBlockHandler(int i, void * blockData, void * pTimeout, ++ void * pReadmask) + #else +-static void vncHooksBlockHandler(ScreenPtr pScreen_, pointer pTimeout, +- pointer pReadmask) ++static void vncHooksBlockHandler(ScreenPtr pScreen_, void * pTimeout, ++ void * pReadmask) + #endif + { + #if XORG < 112 +@@ -914,7 +914,7 @@ + GCFuncUnwrapper u(pGC); + (*pGC->funcs->DestroyGC) (pGC); + } +-static void vncHooksChangeClip(GCPtr pGC, int type, pointer pValue, int nrects) ++static void vncHooksChangeClip(GCPtr pGC, int type, void * pValue, int nrects) + { + GCFuncUnwrapper u(pGC); + (*pGC->funcs->ChangeClip) (pGC, type, pValue, nrects); +@@ -954,7 +954,7 @@ + } + GCPtr pGC; + vncHooksGCPtr vncHooksGC; +- GCFuncs* oldFuncs; ++ const GCFuncs* oldFuncs; + ScreenPtr pScreen; + }; + +@@ -1793,7 +1793,7 @@ + + static void vncHooksImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, + int y, unsigned int nglyph, +- CharInfoPtr *ppci, pointer pglyphBase) ++ CharInfoPtr *ppci, void * pglyphBase) + { + GC_OP_UNWRAPPER(pDrawable, pGC, ImageGlyphBlt); + +@@ -1819,7 +1819,7 @@ + + static void vncHooksPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC, int x, + int y, unsigned int nglyph, +- CharInfoPtr *ppci, pointer pglyphBase) ++ CharInfoPtr *ppci, void * pglyphBase) + { + GC_OP_UNWRAPPER(pDrawable, pGC, PolyGlyphBlt); + +diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xf86vncModule.cc tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc +--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xf86vncModule.cc 2013-03-14 18:52:53.000000000 +0100 ++++ tigervnc-1.3.1/unix/xserver/hw/vnc/xf86vncModule.cc 2014-07-19 00:36:53.725520543 +0200 +@@ -81,11 +81,11 @@ + + _X_EXPORT XF86ModuleData vncModuleData = { &vncVersRec, vncSetup, NULL }; + +-static pointer +-vncSetup(pointer module, pointer opts, int *errmaj, int *errmin) { +- LoadExtension(&vncExt, FALSE); ++static void * ++vncSetup(void * module, void * opts, int *errmaj, int *errmin) { ++ LoadExtensionList(&vncExt, 1, FALSE); + /* Need a non-NULL return value to indicate success */ +- return (pointer)1; ++ return (void *)1; + } + + static void vncExtensionInitWithParams(INITARGS) +diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xorg-version.h tigervnc-1.3.1/unix/xserver/hw/vnc/xorg-version.h +--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xorg-version.h 2013-02-19 14:51:29.000000000 +0100 ++++ tigervnc-1.3.1/unix/xserver/hw/vnc/xorg-version.h 2014-07-19 00:36:50.530520710 +0200 +@@ -44,8 +44,12 @@ + #define XORG 113 + #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (14 * 100000) + (99 * 1000)) + #define XORG 114 ++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (15 * 100000) + (99 * 1000)) ++#define XORG 115 ++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (16 * 100000) + (99 * 1000)) ++#define XORG 116 + #else +-#error "X.Org newer than 1.14 is not supported" ++#error "X.Org newer than 1.16 is not supported" + #endif + + #endif +diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/XserverDesktop.cc tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc +--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/XserverDesktop.cc 2013-05-22 14:56:25.000000000 +0200 ++++ tigervnc-1.3.1/unix/xserver/hw/vnc/XserverDesktop.cc 2014-07-19 00:36:53.723520543 +0200 +@@ -48,7 +48,7 @@ + #define public c_public + #define class c_class + +-extern char *display; ++extern const char *display; + + #include "colormapst.h" + #ifdef RANDR +@@ -174,7 +174,7 @@ + { + pScreen = pScreen_; + int i; +- pointer retval; ++ void * retval; + + #if XORG >= 17 + #define dixLookupResource dixLookupResourceByType +diff -ur tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xvnc.cc tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc +--- tigervnc-1.3.1.orig/unix/xserver/hw/vnc/xvnc.cc 2014-03-19 13:11:09.000000000 +0100 ++++ tigervnc-1.3.1/unix/xserver/hw/vnc/xvnc.cc 2014-07-19 00:36:53.726520543 +0200 +@@ -103,7 +103,7 @@ + "See http://www.tigervnc.org for information on TigerVNC.\n") + + +-extern char *display; ++extern const char *display; + extern int monitorResolution; + + #define VFB_DEFAULT_WIDTH 1024 +@@ -762,7 +762,7 @@ + curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap, + RT_COLORMAP); + #else +- dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap, ++ dixLookupResourceByType((void * *) &curpmap, pmap->pScreen->defColormap, + RT_COLORMAP, serverClient, DixUnknownAccess); + #endif + (*pmap->pScreen->InstallColormap)(curpmap); +@@ -1597,7 +1597,7 @@ + } /* end vfbScreenInit */ + + +-static void vfbClientStateChange(CallbackListPtr*, pointer, pointer) { ++static void vfbClientStateChange(CallbackListPtr*, void *, void *) { + dispatchException &= ~DE_RESET; + } + +@@ -1625,7 +1625,7 @@ + #if XORG >= 113 + #ifdef GLXEXT + if (serverGeneration == 1) +- LoadExtension(&glxExt, TRUE); ++ LoadExtensionList(&glxExt, 1, TRUE); + #endif + #endif + Added: xserver116.patch =================================================================== --- xserver116.patch (rev 0) +++ xserver116.patch 2014-07-30 17:20:47 UTC (rev 116596) @@ -0,0 +1,115 @@ +diff -ur xorg-server-1.16.0.orig/configure.ac xorg-server-1.16.0/configure.ac +--- xorg-server-1.16.0.orig/configure.ac 2014-07-17 09:00:51.000000000 +0200 ++++ xorg-server-1.16.0/configure.ac 2014-07-19 00:46:53.492489158 +0200 +@@ -74,6 +74,7 @@ + AC_CONFIG_HEADERS(include/version-config.h) + + AM_PROG_AS ++AC_PROG_CXX + AC_PROG_LN_S + LT_PREREQ([2.2]) + LT_INIT([disable-static win32-dll]) +@@ -1795,6 +1796,10 @@ + AC_SUBST([XVFB_SYS_LIBS]) + fi + ++dnl Xvnc DDX ++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"]) ++AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"]) ++AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"]) + + dnl Xnest DDX + +@@ -1830,6 +1835,8 @@ + fi + AC_MSG_RESULT([$XORG]) + ++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version]) ++ + if test "x$XORG" = xyes; then + XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common' + XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os' +@@ -2051,7 +2058,6 @@ + AC_DEFINE(XORG_SERVER, 1, [Building Xorg server]) + AC_DEFINE(XORGSERVER, 1, [Building Xorg server]) + AC_DEFINE(XFree86Server, 1, [Building XFree86 server]) +- AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version]) + AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs]) + AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions]) + AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server]) +@@ -2589,6 +2595,7 @@ + hw/dmx/man/Makefile + hw/vfb/Makefile + hw/vfb/man/Makefile ++hw/vnc/Makefile + hw/xnest/Makefile + hw/xnest/man/Makefile + hw/xwin/Makefile +diff -ur xorg-server-1.16.0.orig/hw/Makefile.am xorg-server-1.16.0/hw/Makefile.am +--- xorg-server-1.16.0.orig/hw/Makefile.am 2014-04-16 22:24:00.000000000 +0200 ++++ xorg-server-1.16.0/hw/Makefile.am 2014-07-19 00:46:53.492489158 +0200 +@@ -38,7 +38,8 @@ + $(DMX_SUBDIRS) \ + $(KDRIVE_SUBDIRS) \ + $(XQUARTZ_SUBDIRS) \ +- $(XWAYLAND_SUBDIRS) ++ $(XWAYLAND_SUBDIRS) \ ++ vnc + + DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xwayland + +diff -ur xorg-server-1.16.0.orig/mi/miinitext.c xorg-server-1.16.0/mi/miinitext.c +--- xorg-server-1.16.0.orig/mi/miinitext.c 2014-04-16 22:24:00.000000000 +0200 ++++ xorg-server-1.16.0/mi/miinitext.c 2014-07-19 00:46:53.492489158 +0200 +@@ -111,6 +111,10 @@ + #include "micmap.h" + #include "globals.h" + ++#ifdef TIGERVNC ++extern void vncExtensionInit(INITARGS); ++#endif ++ + /* The following is only a small first step towards run-time + * configurable extensions. + */ +@@ -235,6 +239,9 @@ + + /* List of built-in (statically linked) extensions */ + static const ExtensionModule staticExtensions[] = { ++#ifdef TIGERVNC ++ {vncExtensionInit, "VNC-EXTENSION", NULL}, ++#endif + {GEExtensionInit, "Generic Event Extension", &noGEExtension}, + {ShapeExtensionInit, "SHAPE", NULL}, + #ifdef MITSHM +diff -ur xorg-server-1.16.0.orig/os/WaitFor.c xorg-server-1.16.0/os/WaitFor.c +--- xorg-server-1.16.0.orig/os/WaitFor.c 2014-02-05 04:08:57.000000000 +0100 ++++ xorg-server-1.16.0/os/WaitFor.c 2014-07-19 00:46:53.493489158 +0200 +@@ -125,6 +125,9 @@ + static void CheckAllTimers(void); + static OsTimerPtr timers = NULL; + ++extern void vncWriteBlockHandler(fd_set *fds); ++extern void vncWriteWakeupHandler(int nfds, fd_set *fds); ++ + /***************** + * WaitForSomething: + * Make the server suspend until there is +@@ -150,6 +153,7 @@ + INT32 timeout = 0; + fd_set clientsReadable; + fd_set clientsWritable; ++ fd_set socketsWritable; + int curclient; + int selecterr; + static int nready; +@@ -212,6 +216,9 @@ + XFD_COPYSET(&AllSockets, &LastSelectMask); + } + ++ FD_ZERO(&socketsWritable); ++ vncWriteBlockHandler(&socketsWritable); ++ + BlockHandler((void *) &wt, (void *) &LastSelectMask); + if (NewOutputPending) + FlushAllOutput();