summaryrefslogtreecommitdiffstats
path: root/extra/source/tigervnc/patches
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2016-06-30 20:26:57 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 23:31:18 +0200
commitd31c50870d0bee042ce660e445c9294a59a3a65b (patch)
tree6bfc0de3c95267b401b620c2c67859557dc60f97 /extra/source/tigervnc/patches
parent76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (diff)
downloadcurrent-d31c50870d0bee042ce660e445c9294a59a3a65b.tar.gz
current-d31c50870d0bee042ce660e445c9294a59a3a65b.tar.xz
Slackware 14.2slackware-14.2
Thu Jun 30 20:26:57 UTC 2016 Slackware 14.2 x86_64 stable is released! The long development cycle (the Linux community has lately been living in "interesting times", as they say) is finally behind us, and we're proud to announce the release of Slackware 14.2. The new release brings many updates and modern tools, has switched from udev to eudev (no systemd), and adds well over a hundred new packages to the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to 'extra/source/tigervnc/patches')
-rw-r--r--extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch100
-rw-r--r--extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch14
-rw-r--r--extra/source/tigervnc/patches/tigervnc11-java7.patch12
-rw-r--r--extra/source/tigervnc/patches/tigervnc11-xorg110.patch88
-rw-r--r--extra/source/tigervnc/patches/tigervnc11-xorg111.patch236
-rw-r--r--extra/source/tigervnc/patches/tigervnc11-xorg112.patch429
-rw-r--r--extra/source/tigervnc/patches/tigervnc11-xorg113.patch171
-rw-r--r--extra/source/tigervnc/patches/tigervnc11-xorg114.patch24
-rw-r--r--extra/source/tigervnc/patches/tigervnc11-xorg_headers.patch16
-rw-r--r--extra/source/tigervnc/patches/tigervnc13_link_png.patch12
-rw-r--r--extra/source/tigervnc/patches/xserver118.patch137
11 files changed, 263 insertions, 976 deletions
diff --git a/extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch b/extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch
new file mode 100644
index 000000000..55a6da830
--- /dev/null
+++ b/extra/source/tigervnc/patches/tigervnc-xorg118-QueueKeyboardEvents.patch
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+<title>tigervnc.git - tigervnc</title>
+<meta name='generator' content='cgit v0.11.2'/>
+<meta name='robots' content='index, nofollow'/>
+<link rel='stylesheet' type='text/css' href='/cgit-data/cgit.css'/>
+<link rel='shortcut icon' href='/favicon.ico'/>
+<link rel='alternate' title='Atom feed' href='http://pkgs.fedoraproject.org/cgit/tigervnc.git/atom/tigervnc-xorg118-QueueKeyboardEvents.patch?h=master' type='application/atom+xml'/>
+<link rel='vcs-git' href='git://pkgs.fedoraproject.org/tigervnc.git' title='tigervnc.git Git repository'/>
+<link rel='vcs-git' href='ssh://pkgs.fedoraproject.org/tigervnc.git' title='tigervnc.git Git repository'/>
+<link rel='vcs-git' href='http://pkgs.fedoraproject.org/git/tigervnc.git' title='tigervnc.git Git repository'/>
+</head>
+<body>
+<script src="https://apps.fedoraproject.org/fedmenu/js/jquery-1.11.2.min.js"></script>
+<script src="https://apps.fedoraproject.org/fedmenu/js/fedmenu.js"></script>
+
+<script>
+ var base = 'https://apps.fedoraproject.org/';
+ var tokens = window.location.href.split('/');
+ var repo = null;
+ if (tokens.length > 4 && tokens[4] != '') {
+ repo = tokens[4].split('.')[0];
+ }
+ fedmenu({
+ 'url': base + 'js/data.js',
+ 'mimeType': 'application/javascript',
+ 'position': 'bottom-right',
+ 'package': repo,
+ });
+</script>
+<div id='cgit'><table id='header'>
+<tr>
+<td class='logo' rowspan='2'><a href='/cgit/'><img src='/cgit-data/cgit.png' alt='cgit logo'/></a></td>
+<td class='main'><a href='/cgit/'>index</a> : <a title='tigervnc.git' href='/cgit/tigervnc.git/'>tigervnc.git</a></td><td class='form'><form method='get' action=''>
+<select name='h' onchange='this.form.submit();'>
+<option value='el5'>el5</option>
+<option value='f11'>f11</option>
+<option value='f12'>f12</option>
+<option value='f13'>f13</option>
+<option value='f14'>f14</option>
+<option value='f15'>f15</option>
+<option value='f16'>f16</option>
+<option value='f17'>f17</option>
+<option value='f18'>f18</option>
+<option value='f19'>f19</option>
+<option value='f20'>f20</option>
+<option value='f21'>f21</option>
+<option value='f22'>f22</option>
+<option value='f23'>f23</option>
+<option value='master' selected='selected'>master</option>
+<option value='private-twaugh-bz1137023-f20'>private-twaugh-bz1137023-f20</option>
+</select> <input type='submit' name='' value='switch'/></form></td></tr>
+<tr><td class='sub'>tigervnc</td><td class='sub right'>Jesse Keating</td></tr></table>
+<table class='tabs'><tr><td>
+<a href='/cgit/tigervnc.git/'>summary</a><a href='/cgit/tigervnc.git/refs/'>refs</a><a href='/cgit/tigervnc.git/log/tigervnc-xorg118-QueueKeyboardEvents.patch'>log</a><a class='active' href='/cgit/tigervnc.git/tree/tigervnc-xorg118-QueueKeyboardEvents.patch'>tree</a><a href='/cgit/tigervnc.git/commit/tigervnc-xorg118-QueueKeyboardEvents.patch'>commit</a><a href='/cgit/tigervnc.git/diff/tigervnc-xorg118-QueueKeyboardEvents.patch'>diff</a><a href='/cgit/tigervnc.git/stats/tigervnc-xorg118-QueueKeyboardEvents.patch'>stats</a></td><td class='form'><form class='right' method='get' action='/cgit/tigervnc.git/log/tigervnc-xorg118-QueueKeyboardEvents.patch'>
+<select name='qt'>
+<option value='grep'>log msg</option>
+<option value='author'>author</option>
+<option value='committer'>committer</option>
+<option value='range'>range</option>
+</select>
+<input class='txt' type='text' size='10' name='q' value=''/>
+<input type='submit' value='search'/>
+</form>
+</td></tr></table>
+<div class='path'>path: <a href='/cgit/tigervnc.git/tree/'>root</a>/<a href='/cgit/tigervnc.git/tree/tigervnc-xorg118-QueueKeyboardEvents.patch'>tigervnc-xorg118-QueueKeyboardEvents.patch</a></div><div class='content'>blob: 4eb738b791cee91551ecf74de4aa35305984e7b8 (<a href='/cgit/tigervnc.git/plain/tigervnc-xorg118-QueueKeyboardEvents.patch'>plain</a>)
+<table summary='blob content' class='blob'>
+<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
+<a id='n2' href='#n2'>2</a>
+<a id='n3' href='#n3'>3</a>
+<a id='n4' href='#n4'>4</a>
+<a id='n5' href='#n5'>5</a>
+<a id='n6' href='#n6'>6</a>
+<a id='n7' href='#n7'>7</a>
+<a id='n8' href='#n8'>8</a>
+<a id='n9' href='#n9'>9</a>
+<a id='n10' href='#n10'>10</a>
+<a id='n11' href='#n11'>11</a>
+<a id='n12' href='#n12'>12</a>
+</pre></td>
+<td class='lines'><pre><code>diff --git a/unix/xserver/hw/vnc/Input.c b/unix/xserver/hw/vnc/Input.c
+--- a/unix/xserver/hw/vnc/Input.c
++++ b/unix/xserver/hw/vnc/Input.c
+@@ -301,7 +301,7 @@ static inline void pressKey(DeviceIntPtr dev, int kc, Bool down, const char *msg
+ n = GetKeyboardEvents(eventq, dev, action, kc);
+ enqueueEvents(dev, n);
+ #else
+- QueueKeyboardEvents(dev, action, kc, NULL);
++ QueueKeyboardEvents(dev, action, kc);
+ #endif
+ }
+
+</code></pre></td></tr></table>
+</div> <!-- class=content -->
+<div class='footer'>generated by <a href='http://git.zx2c4.com/cgit/about/'>cgit v0.11.2</a> at 2015-11-12 22:24:09 (GMT)</div>
+</div> <!-- id=cgit -->
+</body>
+</html>
diff --git a/extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch b/extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch
new file mode 100644
index 000000000..a0d5b9304
--- /dev/null
+++ b/extra/source/tigervnc/patches/tigervnc.support.xorg.118.patch
@@ -0,0 +1,14 @@
+--- ./unix/xserver/hw/vnc/xorg-version.h.orig 2015-07-11 08:00:36.000000000 -0500
++++ ./unix/xserver/hw/vnc/xorg-version.h 2015-11-12 16:19:53.643193478 -0600
+@@ -48,8 +48,10 @@
+ #define XORG 116
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000))
+ #define XORG 117
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000))
++#define XORG 118
+ #else
+-#error "X.Org newer than 1.17 is not supported"
++#error "X.Org newer than 1.18 is not supported"
+ #endif
+
+ #endif
diff --git a/extra/source/tigervnc/patches/tigervnc11-java7.patch b/extra/source/tigervnc/patches/tigervnc11-java7.patch
deleted file mode 100644
index 6f30060d8..000000000
--- a/extra/source/tigervnc/patches/tigervnc11-java7.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up tigervnc-1.1.0/java/src/com/tigervnc/vncviewer/Makefile.java7 tigervnc-1.1.0/java/src/com/tigervnc/vncviewer/Makefile
---- tigervnc-1.1.0/java/src/com/tigervnc/vncviewer/Makefile.java7 2012-03-27 14:20:20.107009796 +0200
-+++ tigervnc-1.1.0/java/src/com/tigervnc/vncviewer/Makefile 2012-03-27 14:20:25.959966078 +0200
-@@ -4,7 +4,7 @@
-
- CP = cp
- JC = javac
--JCFLAGS = -target 1.5 -classpath ../../../
-+JCFLAGS = -target 1.7 -classpath ../../../
- JAR = jar
- ARCHIVE = VncViewer.jar
- MANIFEST = MANIFEST.MF
diff --git a/extra/source/tigervnc/patches/tigervnc11-xorg110.patch b/extra/source/tigervnc/patches/tigervnc11-xorg110.patch
deleted file mode 100644
index d70d6f91b..000000000
--- a/extra/source/tigervnc/patches/tigervnc11-xorg110.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-diff -up xserver/configure.ac.vnc xserver/configure.ac
---- xserver/configure.ac.vnc 2012-07-19 20:22:21.774770804 -0400
-+++ xserver/configure.ac 2012-07-19 20:24:42.293014083 -0400
-@@ -72,6 +71,7 @@ dnl forcing an entire recompile.x
- AC_CONFIG_HEADERS(include/version-config.h)
-
- AM_PROG_AS
-+AC_PROG_CXX
- AC_PROG_LN_S
- AC_LIBTOOL_WIN32_DLL
- AC_DISABLE_STATIC
-@@ -1560,6 +1560,14 @@ if test "x$XVFB" = xyes; then
- AC_SUBST([XVFB_SYS_LIBS])
- fi
-
-+dnl Xvnc DDX
-+AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XEXT_INC $FB_INC $MI_INC $RENDER_INC $RANDR_INC $MIEXT_DAMAGE_INC"])
-+AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_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 This is necessary to allow Xvnc to statically link with GnuTLS
-+AC_ARG_VAR(GNUTLS_LDFLAGS, [Custom linker flags for using GnuTLS, e.g. -L{GnuTLS directory}/lib -lgnutls])
-+AC_SUBST(GNUTLS_LDFLAGS)
-
- dnl Xnest DDX
-
-@@ -1595,6 +1603,8 @@ if test "x$XORG" = xauto; then
- 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'
-@@ -1813,7 +1823,6 @@ if test "x$XORG" = xyes; then
- 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])
-@@ -2279,6 +2288,7 @@ hw/dmx/Makefile
- 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 -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
---- xserver/hw/Makefile.am.vnc 2012-07-19 20:22:28.575685781 -0400
-+++ xserver/hw/Makefile.am 2012-07-19 20:22:31.483649426 -0400
-@@ -33,7 +33,8 @@ SUBDIRS = \
- $(XNEST_SUBDIRS) \
- $(DMX_SUBDIRS) \
- $(KDRIVE_SUBDIRS) \
-- $(XQUARTZ_SUBDIRS)
-+ $(XQUARTZ_SUBDIRS) \
-+ vnc
-
- DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
-
-diff -up xserver/include/extinit.h.vnc xserver/include/extinit.h
---- xserver/include/extinit.h.vnc 2012-07-19 20:25:50.465161815 -0400
-+++ xserver/include/extinit.h 2012-07-19 20:25:52.490136499 -0400
-@@ -81,6 +81,8 @@ extern void DPMSExtensionInit(void);
- extern Bool noGEExtension;
- extern void GEExtensionInit(void);
-
-+extern void vncExtensionInit(void);
-+
- #ifdef GLXEXT
- extern _X_EXPORT Bool noGlxExtension;
- extern void GlxExtensionInit(void);
-diff -up xserver/mi/miinitext.c.vnc xserver/mi/miinitext.c
---- xserver/mi/miinitext.c.vnc 2012-07-19 20:22:30.000000000 -0400
-+++ xserver/mi/miinitext.c 2012-07-19 20:26:48.560435524 -0400
-@@ -293,6 +293,7 @@ static ExtensionModule staticExtensions[
- #ifdef XSELINUX
- {SELinuxExtensionInit, SELINUX_EXTENSION_NAME, &noSELinuxExtension},
- #endif
-+ {vncExtensionInit, "VNC", NULL},
- };
-
- static ExtensionModule *ExtensionModuleList = NULL;
-
diff --git a/extra/source/tigervnc/patches/tigervnc11-xorg111.patch b/extra/source/tigervnc/patches/tigervnc11-xorg111.patch
deleted file mode 100644
index 690ca6be2..000000000
--- a/extra/source/tigervnc/patches/tigervnc11-xorg111.patch
+++ /dev/null
@@ -1,236 +0,0 @@
-diff -up xserver/hw/vnc/Input.cc.xorg111 xserver/hw/vnc/Input.cc
---- xserver/hw/vnc/Input.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ xserver/hw/vnc/Input.cc 2011-11-11 11:59:14.226819903 +0100
-@@ -82,10 +82,11 @@ static KeyCode KeysymToKeycode(KeySymsPt
- /* Event queue is shared between all devices. */
- #if XORG == 15
- static xEvent *eventq = NULL;
--#else
-+#elif XORG < 111
- static EventList *eventq = NULL;
- #endif
-
-+#if XORG < 111
- static void initEventq(void)
- {
- /* eventq is never free()-ed because it exists during server life. */
-@@ -100,7 +101,9 @@ static void initEventq(void)
- #endif
- }
- }
-+#endif /* XORG < 111 */
-
-+#if XORG < 111
- static void enqueueEvents(DeviceIntPtr dev, int n)
- {
- int i;
-@@ -122,6 +125,7 @@ static void enqueueEvents(DeviceIntPtr d
- );
- }
- }
-+#endif /* XORG < 111 */
-
- InputDevice::InputDevice(rfb::VNCServerST *_server)
- : server(_server), oldButtonMask(0)
-@@ -141,12 +145,17 @@ InputDevice::InputDevice(rfb::VNCServerS
- keyboardProc, TRUE);
- RegisterKeyboardDevice(keyboardDev);
- #endif
-+#if XORG < 111
- initEventq();
-+#endif
- }
-
- void InputDevice::PointerButtonAction(int buttonMask)
- {
-- int i, n;
-+ int i;
-+#if XORG < 111
-+ int n;
-+#endif
- #if XORG >= 110
- ValuatorMask mask;
- #endif
-@@ -160,13 +169,17 @@ void InputDevice::PointerButtonAction(in
- #if XORG < 110
- n = GetPointerEvents(eventq, pointerDev, action, i + 1,
- POINTER_RELATIVE, 0, 0, NULL);
--#else
-+ enqueueEvents(pointerDev, n);
-+#elif XORG < 111
- valuator_mask_set_range(&mask, 0, 0, NULL);
- n = GetPointerEvents(eventq, pointerDev, action, i + 1,
- POINTER_RELATIVE, &mask);
--#endif
- enqueueEvents(pointerDev, n);
--
-+#else
-+ valuator_mask_set_range(&mask, 0, 0, NULL);
-+ QueuePointerEvents(pointerDev, action, i + 1,
-+ POINTER_RELATIVE, &mask);
-+#endif
- }
- }
-
-@@ -175,7 +188,10 @@ void InputDevice::PointerButtonAction(in
-
- void InputDevice::PointerMove(const rfb::Point &pos)
- {
-- int n, valuators[2];
-+ int valuators[2];
-+#if XORG < 111
-+ int n;
-+#endif
- #if XORG >= 110
- ValuatorMask mask;
- #endif
-@@ -190,12 +206,16 @@ void InputDevice::PointerMove(const rfb:
- #if XORG < 110
- n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, 0,
- 2, valuators);
--#else
-+ enqueueEvents(pointerDev, n);
-+#elif XORG < 111
- valuator_mask_set_range(&mask, 0, 2, valuators);
- n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE,
- &mask);
--#endif
- enqueueEvents(pointerDev, n);
-+#else
-+ valuator_mask_set_range(&mask, 0, 2, valuators);
-+ QueuePointerEvents(pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, &mask);
-+#endif
-
- cursorPos = pos;
- }
-@@ -299,14 +319,20 @@ void InputDevice::initInputDevice(void)
- static inline void pressKey(DeviceIntPtr dev, int kc, bool down, const char *msg)
- {
- int action;
-+#if XORG < 111
- unsigned int n;
-+#endif
-
- if (msg != NULL)
- vlog.debug("%s %d %s", msg, kc, down ? "down" : "up");
-
- action = down ? KeyPress : KeyRelease;
-- n = GetKeyboardEvents(eventq, dev, action, kc);
-+#if XORG < 111
-+ n = GetKeyboardEvents(eventq, dev, action, kc, NULL);
- enqueueEvents(dev, n);
-+#else
-+ QueueKeyboardEvents(dev, action, kc, NULL);
-+#endif
- }
-
- #define IS_PRESSED(keyc, keycode) \
-@@ -341,8 +367,11 @@ public:
- int state, maxKeysPerMod, keycode;
- #if XORG >= 17
- KeyCode *modmap = NULL;
--
-+#if XORG >= 111
-+ state = XkbStateFieldFromRec(&dev->master->key->xkbInfo->state);
-+#else /* XORG >= 111 */
- state = XkbStateFieldFromRec(&dev->u.master->key->xkbInfo->state);
-+#endif /* XORG >= 111 */
- #else
- KeyClassPtr keyc = dev->key;
- state = keyc->state;
-@@ -380,7 +409,11 @@ public:
- #if XORG >= 17
- KeyCode *modmap = NULL;
-
-+#if XORG >= 111
-+ keyc = dev->master->key;
-+#else /* XORG >= 111 */
- keyc = dev->u.master->key;
-+#endif /* XORG >= 111 */
- state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
- #else
- keyc = dev->key;
-@@ -596,7 +629,11 @@ void InputDevice::keyEvent(rdr::U32 keys
- }
-
- #if XORG >= 17
-+#if XORG >= 111
-+ keyc = keyboardDev->master->key;
-+#else /* XORG >= 111 */
- keyc = keyboardDev->u.master->key;
-+#endif /* XORG >= 111 */
-
- keymap = XkbGetCoreMap(keyboardDev);
- if (!keymap) {
-@@ -753,7 +790,11 @@ ModeSwitchFound:
- XkbApplyMappingChange(keyboardDev, keymap, minKeyCode,
- maxKeyCode - minKeyCode + 1,
- NULL, serverClient);
-+#if XORG >= 111
-+ XkbCopyDeviceKeymap(keyboardDev->master, keyboardDev);
-+#else
- XkbCopyDeviceKeymap(keyboardDev->u.master, keyboardDev);
-+#endif
- #endif /* XORG < 17 */
- break;
- }
-diff -up xserver/hw/vnc/xorg-version.h.xorg111 xserver/hw/vnc/xorg-version.h
---- xserver/hw/vnc/xorg-version.h.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ xserver/hw/vnc/xorg-version.h 2011-11-11 11:55:32.255835319 +0100
-@@ -36,6 +36,8 @@
- #define XORG 19
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000))
- #define XORG 110
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000))
-+#define XORG 111
- #else
- #error "X.Org newer than 1.10 is not supported"
- #endif
-diff -up xserver/hw/vnc/xvnc.cc.xorg111 xserver/hw/vnc/xvnc.cc
---- xserver/hw/vnc/xvnc.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
-+++ xserver/hw/vnc/xvnc.cc 2011-11-11 11:55:32.256835319 +0100
-@@ -211,7 +211,11 @@ static void vfbFreeFramebufferMemory(vfb
-
- extern "C" {
-
-+#if XORG < 111
- void ddxGiveUp()
-+#else
-+void ddxGiveUp(enum ExitCode error)
-+#endif
- {
- int i;
-
-@@ -221,9 +225,17 @@ void ddxGiveUp()
- }
-
- void
-+#if XORG < 111
- AbortDDX()
-+#else
-+AbortDDX(enum ExitCode error)
-+#endif
- {
-+#if XORG < 111
- ddxGiveUp();
-+#else
-+ ddxGiveUp(error);
-+#endif
- }
-
- #ifdef __DARWIN__
-@@ -668,8 +680,13 @@ vfbUninstallColormap(ColormapPtr pmap)
- {
- if (pmap->mid != pmap->pScreen->defColormap)
- {
-+#if XORG < 111
- curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
- RT_COLORMAP);
-+#else
-+ dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap,
-+ RT_COLORMAP, serverClient, DixUnknownAccess);
-+#endif
- (*pmap->pScreen->InstallColormap)(curpmap);
- }
- }
-
diff --git a/extra/source/tigervnc/patches/tigervnc11-xorg112.patch b/extra/source/tigervnc/patches/tigervnc11-xorg112.patch
deleted file mode 100644
index 2931cd7e8..000000000
--- a/extra/source/tigervnc/patches/tigervnc11-xorg112.patch
+++ /dev/null
@@ -1,429 +0,0 @@
-diff -up xserver/hw/vnc/vncExtInit.cc.xorg112 xserver/hw/vnc/vncExtInit.cc
---- xserver/hw/vnc/vncExtInit.cc.xorg112 2011-08-09 23:16:36.000000000 +0200
-+++ xserver/hw/vnc/vncExtInit.cc 2012-03-27 12:54:56.937271323 +0200
-@@ -56,6 +56,7 @@ extern "C" {
- #include "XserverDesktop.h"
- #include "vncHooks.h"
- #include "vncExtInit.h"
-+#include "xorg-version.h"
-
- extern "C" {
-
-@@ -360,10 +361,16 @@ void vncClientCutText(const char* str, i
- ev.window = cur->window;
- ev.time = GetTimeInMillis();
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
- swapl(&ev.time, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+ swapl(&ev.time);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtClientCutTextNotifyEvent),
- (char *)&ev);
-@@ -406,9 +413,14 @@ void vncQueryConnect(XserverDesktop* des
- ev.sequenceNumber = cur->client->sequence;
- ev.window = cur->window;
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtQueryConnectNotifyEvent),
- (char *)&ev);
-@@ -449,10 +461,16 @@ static void SendSelectionChangeEvent(Ato
- ev.window = cur->window;
- ev.selection = selection;
- if (cur->client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&ev.sequenceNumber, n);
- swapl(&ev.window, n);
- swapl(&ev.selection, n);
-+#else
-+ swaps(&ev.sequenceNumber);
-+ swapl(&ev.window);
-+ swapl(&ev.selection);
-+#endif
- }
- WriteToClient(cur->client, sizeof(xVncExtSelectionChangeNotifyEvent),
- (char *)&ev);
-@@ -473,7 +491,6 @@ static int ProcVncExtSetParam(ClientPtr
- param.buf[stuff->paramLen] = 0;
-
- xVncExtSetParamReply rep;
-- int n;
- rep.type = X_Reply;
- rep.length = 0;
- rep.success = 0;
-@@ -514,8 +531,14 @@ static int ProcVncExtSetParam(ClientPtr
-
- deny:
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtSetParamReply), (char *)&rep);
- return (client->noClientException);
-@@ -523,9 +546,13 @@ deny:
-
- static int SProcVncExtSetParam(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSetParamReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtSetParamReq);
- return ProcVncExtSetParam(client);
- }
-@@ -539,7 +566,6 @@ static int ProcVncExtGetParam(ClientPtr
- param.buf[stuff->paramLen] = 0;
-
- xVncExtGetParamReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.success = 0;
-@@ -557,9 +583,16 @@ static int ProcVncExtGetParam(ClientPtr
- rep.length = (len + 3) >> 2;
- rep.valueLen = len;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.valueLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.valueLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetParamReply), (char *)&rep);
- if (value)
-@@ -570,9 +603,13 @@ static int ProcVncExtGetParam(ClientPtr
-
- static int SProcVncExtGetParam(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetParamReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtGetParamReq);
- return ProcVncExtGetParam(client);
- }
-@@ -586,7 +623,6 @@ static int ProcVncExtGetParamDesc(Client
- param.buf[stuff->paramLen] = 0;
-
- xVncExtGetParamDescReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.success = 0;
-@@ -601,9 +637,16 @@ static int ProcVncExtGetParamDesc(Client
- rep.length = (len + 3) >> 2;
- rep.descLen = len;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.descLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.descLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetParamDescReply), (char *)&rep);
- if (desc)
-@@ -613,9 +656,13 @@ static int ProcVncExtGetParamDesc(Client
-
- static int SProcVncExtGetParamDesc(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetParamDescReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtGetParamDescReq);
- return ProcVncExtGetParamDesc(client);
- }
-@@ -626,7 +673,6 @@ static int ProcVncExtListParams(ClientPt
- REQUEST_SIZE_MATCH(xVncExtListParamsReq);
-
- xVncExtListParamsReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
-
-@@ -642,9 +688,16 @@ static int ProcVncExtListParams(ClientPt
- rep.length = (len + 3) >> 2;
- rep.nParams = nParams;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swaps(&rep.nParams, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swaps(&rep.nParams);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtListParamsReply), (char *)&rep);
- rdr::U8* data = new rdr::U8[len];
-@@ -664,9 +717,13 @@ static int ProcVncExtListParams(ClientPt
-
- static int SProcVncExtListParams(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtListParamsReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtListParamsReq);
- return ProcVncExtListParams(client);
- }
-@@ -689,11 +746,19 @@ static int ProcVncExtSetServerCutText(Cl
-
- static int SProcVncExtSetServerCutText(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSetServerCutTextReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtSetServerCutTextReq);
-+#if XORG < 112
- swapl(&stuff->textLen, n);
-+#else
-+ swapl(&stuff->textLen);
-+#endif
- return ProcVncExtSetServerCutText(client);
- }
-
-@@ -703,15 +768,21 @@ static int ProcVncExtGetClientCutText(Cl
- REQUEST_SIZE_MATCH(xVncExtGetClientCutTextReq);
-
- xVncExtGetClientCutTextReply rep;
-- int n;
- rep.type = X_Reply;
- rep.length = (clientCutTextLen + 3) >> 2;
- rep.sequenceNumber = client->sequence;
- rep.textLen = clientCutTextLen;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
- swapl(&rep.textLen, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+ swapl(&rep.textLen);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetClientCutTextReply), (char *)&rep);
- if (clientCutText)
-@@ -721,9 +792,13 @@ static int ProcVncExtGetClientCutText(Cl
-
- static int SProcVncExtGetClientCutText(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetClientCutTextReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtGetClientCutTextReq);
- return ProcVncExtGetClientCutText(client);
- }
-@@ -753,12 +828,21 @@ static int ProcVncExtSelectInput(ClientP
-
- static int SProcVncExtSelectInput(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtSelectInputReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtSelectInputReq);
-+#if XORG < 112
- swapl(&stuff->window, n);
- swapl(&stuff->mask, n);
-+#else
-+ swapl(&stuff->window);
-+ swapl(&stuff->mask);
-+#endif
- return ProcVncExtSelectInput(client);
- }
-
-@@ -804,9 +888,14 @@ static int ProcVncExtConnect(ClientPtr c
- rep.length = 0;
- rep.sequenceNumber = client->sequence;
- if (client->swapped) {
-+#if XORG < 112
- int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.length, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.length);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtConnectReply), (char *)&rep);
- return (client->noClientException);
-@@ -814,9 +903,13 @@ static int ProcVncExtConnect(ClientPtr c
-
- static int SProcVncExtConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_AT_LEAST_SIZE(xVncExtConnectReq);
- return ProcVncExtConnect(client);
- }
-@@ -836,7 +929,6 @@ static int ProcVncExtGetQueryConnect(Cli
- qcTimeout = 0;
-
- xVncExtGetQueryConnectReply rep;
-- int n;
- rep.type = X_Reply;
- rep.sequenceNumber = client->sequence;
- rep.timeout = qcTimeout;
-@@ -845,11 +937,20 @@ static int ProcVncExtGetQueryConnect(Cli
- rep.opaqueId = (CARD32)(long)queryConnectId;
- rep.length = (rep.userLen + rep.addrLen + 3) >> 2;
- if (client->swapped) {
-+#if XORG < 112
-+ int n;
- swaps(&rep.sequenceNumber, n);
- swapl(&rep.userLen, n);
- swapl(&rep.addrLen, n);
- swapl(&rep.timeout, n);
- swapl(&rep.opaqueId, n);
-+#else
-+ swaps(&rep.sequenceNumber);
-+ swapl(&rep.userLen);
-+ swapl(&rep.addrLen);
-+ swapl(&rep.timeout);
-+ swapl(&rep.opaqueId);
-+#endif
- }
- WriteToClient(client, sizeof(xVncExtGetQueryConnectReply), (char *)&rep);
- if (qcTimeout)
-@@ -861,9 +962,13 @@ static int ProcVncExtGetQueryConnect(Cli
-
- static int SProcVncExtGetQueryConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtGetQueryConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
-+#else
-+ swaps(&stuff->length);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtGetQueryConnectReq);
- return ProcVncExtGetQueryConnect(client);
- }
-@@ -888,10 +993,15 @@ static int ProcVncExtApproveConnect(Clie
-
- static int SProcVncExtApproveConnect(ClientPtr client)
- {
-- register char n;
- REQUEST(xVncExtApproveConnectReq);
-+#if XORG < 112
-+ register char n;
- swaps(&stuff->length, n);
- swapl(&stuff->opaqueId, n);
-+#else
-+ swaps(&stuff->length);
-+ swapl(&stuff->opaqueId);
-+#endif
- REQUEST_SIZE_MATCH(xVncExtApproveConnectReq);
- return ProcVncExtApproveConnect(client);
- }
-diff -up xserver/hw/vnc/xf86vncModule.cc.xorg112 xserver/hw/vnc/xf86vncModule.cc
---- xserver/hw/vnc/xf86vncModule.cc.xorg112 2011-08-09 23:16:36.000000000 +0200
-+++ xserver/hw/vnc/xf86vncModule.cc 2012-03-27 12:54:56.938271322 +0200
-@@ -26,6 +26,8 @@
- #include <rfb/Logger_stdio.h>
- #include <rfb/LogWriter.h>
-
-+#include "xorg-version.h"
-+
- extern "C" {
- #define class c_class
- #define private c_private
-@@ -89,7 +91,12 @@ static void vncExtensionInitWithParams(I
- ScrnInfoPtr pScrn = xf86Screens[scr];
-
- for (ParameterIterator i(Configuration::global()); i.param; i.next()) {
-- char* val = xf86FindOptionValue(pScrn->options, i.param->getName());
-+ const char *val;
-+#if XORG < 112
-+ val = xf86FindOptionValue(pScrn->options, i.param->getName());
-+#else
-+ val = xf86FindOptionValue((XF86OptionPtr)pScrn->options, i.param->getName());
-+#endif
- if (val)
- i.param->setParam(val);
- }
-diff -up xserver/hw/vnc/xorg-version.h.xorg112 xserver/hw/vnc/xorg-version.h
---- xserver/hw/vnc/xorg-version.h.xorg112 2012-03-27 12:55:27.576240843 +0200
-+++ xserver/hw/vnc/xorg-version.h 2012-03-27 12:56:07.541204026 +0200
-@@ -38,6 +38,8 @@
- #define XORG 110
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000))
- #define XORG 111
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (12 * 100000) + (99 * 1000))
-+#define XORG 112
- #else
- #error "X.Org newer than 1.10 is not supported"
- #endif
diff --git a/extra/source/tigervnc/patches/tigervnc11-xorg113.patch b/extra/source/tigervnc/patches/tigervnc11-xorg113.patch
deleted file mode 100644
index 12ce549d7..000000000
--- a/extra/source/tigervnc/patches/tigervnc11-xorg113.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-diff -up xserver/hw/vnc/Makefile.am.xorg113 xserver/hw/vnc/Makefile.am
---- xserver/hw/vnc/Makefile.am.xorg113 2012-07-19 21:42:46.297455970 -0400
-+++ xserver/hw/vnc/Makefile.am 2012-07-19 21:19:22.526005528 -0400
-@@ -62,7 +62,7 @@ EXTRA_DIST = Xvnc.man
- BUILT_SOURCES = $(nodist_Xvnc_SOURCES)
-
- fb.h: $(top_srcdir)/fb/fb.h
-- cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fb.h
-+ cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,g' -e 's,xor,c_xor,g' > $(srcdir)/fb.h
-
- pixman.h: $(includedir)/pixman-1/pixman.h
- cat $(includedir)/pixman-1/pixman.h | sed 's/xor/c_xor/' > $(srcdir)/pixman.h
-diff -up xserver/hw/vnc/vncHooks.cc.xorg113 xserver/hw/vnc/vncHooks.cc
---- xserver/hw/vnc/vncHooks.cc.xorg113 2012-07-19 21:31:37.191820942 -0400
-+++ 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 xserver/hw/vnc/xf86vncModule.cc.xorg113 xserver/hw/vnc/xf86vncModule.cc
---- xserver/hw/vnc/xf86vncModule.cc.xorg113 2012-07-19 21:19:27.558942606 -0400
-+++ 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 xserver/hw/vnc/xorg-version.h.xorg113 xserver/hw/vnc/xorg-version.h
---- xserver/hw/vnc/xorg-version.h.xorg113 2012-07-19 21:19:27.560942582 -0400
-+++ 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 xserver/hw/vnc/xvnc.cc.xorg113 xserver/hw/vnc/xvnc.cc
---- xserver/hw/vnc/xvnc.cc.xorg113 2012-07-19 21:36:33.078121854 -0400
-+++ 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();
-
-diff -up xserver/include/screenint.h.xorg113 xserver/include/screenint.h
---- xserver/include/screenint.h.xorg113 2012-07-19 21:30:38.258557709 -0400
-+++ xserver/include/screenint.h 2012-07-19 21:30:45.415468235 -0400
-@@ -72,18 +72,18 @@ extern _X_EXPORT int AddGPUScreen(Bool (
- extern _X_EXPORT void RemoveGPUScreen(ScreenPtr pScreen);
-
- extern _X_EXPORT void
--AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr newScreen);
-+AttachUnboundGPU(ScreenPtr pScreen, ScreenPtr);
- extern _X_EXPORT void
- DetachUnboundGPU(ScreenPtr unbound);
-
- extern _X_EXPORT void
--AttachOutputGPU(ScreenPtr pScreen, ScreenPtr newScreen);
-+AttachOutputGPU(ScreenPtr pScreen, ScreenPtr);
-
- extern _X_EXPORT void
- DetachOutputGPU(ScreenPtr output);
-
- extern _X_EXPORT void
--AttachOffloadGPU(ScreenPtr pScreen, ScreenPtr newScreen);
-+AttachOffloadGPU(ScreenPtr pScreen, ScreenPtr);
-
- extern _X_EXPORT void
- DetachOffloadGPU(ScreenPtr slave);
-
diff --git a/extra/source/tigervnc/patches/tigervnc11-xorg114.patch b/extra/source/tigervnc/patches/tigervnc11-xorg114.patch
deleted file mode 100644
index 23c710011..000000000
--- a/extra/source/tigervnc/patches/tigervnc11-xorg114.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- xserver/hw/vnc/xorg-version.h Mon Feb 18 08:28:49 2013
-+++ xserver/hw/vnc/xorg-version.h Mon Feb 18 08:28:43 2013
-@@ -42,8 +42,10 @@
- #define XORG 112
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (13 * 100000) + (99 * 1000))
- #define XORG 113
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (14 * 100000) + (99 * 1000))
-+#define XORG 114
- #else
--#error "X.Org newer than 1.10 is not supported"
-+#error "X.Org newer than 1.14 is not supported"
- #endif
-
- #endif
---- xserver/hw/vnc/xvnc.cc Tue Feb 19 08:50:20 2013
-+++ xserver/hw/vnc/xvnc.cc Tue Feb 19 08:50:27 2013
-@@ -54,7 +54,6 @@
- #include "servermd.h"
- #include "fb.h"
- #include "mi.h"
--#include "mibstore.h"
- #include "colormapst.h"
- #include "gcstruct.h"
- #include "input.h"
diff --git a/extra/source/tigervnc/patches/tigervnc11-xorg_headers.patch b/extra/source/tigervnc/patches/tigervnc11-xorg_headers.patch
deleted file mode 100644
index 2ef5bece4..000000000
--- a/extra/source/tigervnc/patches/tigervnc11-xorg_headers.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- tigervnc-1.1.0/unix/xserver/hw/vnc/Makefile.am.orig 2011-08-09 23:16:36.000000000 +0200
-+++ tigervnc-1.1.0/unix/xserver/hw/vnc/Makefile.am 2012-07-29 14:14:55.078998592 +0200
-@@ -61,10 +61,10 @@
- BUILT_SOURCES = $(nodist_Xvnc_SOURCES)
-
- fb.h: $(top_srcdir)/fb/fb.h
-- cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fb.h
-+ cat $(top_srcdir)/fb/fb.h | sed -e 's,and,c_and,g' -e 's,xor,c_xor,g' > $(srcdir)/fb.h
-
- pixman.h: $(includedir)/pixman-1/pixman.h
-- cat $(includedir)/pixman-1/pixman.h | sed 's/xor/c_xor/' > $(srcdir)/pixman.h
-+ cat $(includedir)/pixman-1/pixman.h | sed 's/xor/c_xor/g' > $(srcdir)/pixman.h
-
- fbrop.h: $(top_srcdir)/fb/fbrop.h
-- cat $(top_srcdir)/fb/fbrop.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,' > $(srcdir)/fbrop.h
-+ cat $(top_srcdir)/fb/fbrop.h | sed -e 's,and,c_and,' -e 's,xor,c_xor,g' > $(srcdir)/fbrop.h
diff --git a/extra/source/tigervnc/patches/tigervnc13_link_png.patch b/extra/source/tigervnc/patches/tigervnc13_link_png.patch
new file mode 100644
index 000000000..e5f3374aa
--- /dev/null
+++ b/extra/source/tigervnc/patches/tigervnc13_link_png.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4689566..e3475f7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -265,6 +265,7 @@ if(UNIX AND NOT APPLE)
+ if(X11_Xcursor_FOUND)
+ set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${X11_Xcursor_LIB})
+ endif()
++ set(FLTK_LIBRARIES ${FLTK_LIBRARIES} png)
+ endif()
+
+ if(FLTK_FOUND)
diff --git a/extra/source/tigervnc/patches/xserver118.patch b/extra/source/tigervnc/patches/xserver118.patch
new file mode 100644
index 000000000..8a21040c6
--- /dev/null
+++ b/extra/source/tigervnc/patches/xserver118.patch
@@ -0,0 +1,137 @@
+diff -up xorg-server-1.17.1/configure.ac.vnc xorg-server-1.17.1/configure.ac
+--- xorg-server-1.17.1/configure.ac.vnc 2015-02-10 22:43:52.000000000 +0000
++++ xorg-server-1.17.1/configure.ac 2015-02-13 16:14:05.074515927 +0000
+@@ -74,6 +74,7 @@ dnl forcing an entire recompile.x
+ 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 @@ if test "x$XVFB" = xyes; then
+ 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 @@ if test "x$XORG" = xauto; then
+ 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'
+@@ -2059,7 +2066,6 @@ if test "x$XORG" = xyes; then
+ 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])
+@@ -2599,6 +2605,7 @@ hw/dmx/Makefile
+ 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 -up xorg-server-1.17.1/hw/Makefile.am.vnc xorg-server-1.17.1/hw/Makefile.am
+--- xorg-server-1.17.1/hw/Makefile.am.vnc 2014-04-16 21:24:00.000000000 +0100
++++ xorg-server-1.17.1/hw/Makefile.am 2015-02-13 16:14:05.131516821 +0000
+@@ -38,7 +38,8 @@ SUBDIRS = \
+ $(DMX_SUBDIRS) \
+ $(KDRIVE_SUBDIRS) \
+ $(XQUARTZ_SUBDIRS) \
+- $(XWAYLAND_SUBDIRS)
++ $(XWAYLAND_SUBDIRS) \
++ vnc
+
+ DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xwayland
+
+diff -up xorg-server-1.17.1/mi/miinitext.c.vnc xorg-server-1.17.1/mi/miinitext.c
+--- xorg-server-1.17.1/mi/miinitext.c.vnc 2015-01-17 23:42:52.000000000 +0000
++++ xorg-server-1.17.1/mi/miinitext.c 2015-02-13 16:14:05.131516821 +0000
+@@ -111,6 +111,10 @@ SOFTWARE.
+ #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 @@ EnableDisableExtensionError(const char *
+
+ /* 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 -up xorg-server-1.17.1/os/WaitFor.c.vnc xorg-server-1.17.1/os/WaitFor.c
+--- xorg-server-1.17.1/os/WaitFor.c.vnc 2015-01-26 18:40:30.000000000 +0000
++++ xorg-server-1.17.1/os/WaitFor.c 2015-02-13 16:14:05.132516837 +0000
+@@ -125,6 +125,9 @@ static void DoTimer(OsTimerPtr timer, CA
+ static void CheckAllTimers(void);
+ static volatile 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 @@ WaitForSomething(int *pClientsReady)
+ INT32 timeout = 0;
+ fd_set clientsReadable;
+ fd_set clientsWritable;
++ fd_set socketsWritable;
+ int curclient;
+ int selecterr;
+ static int nready;
+@@ -212,6 +216,9 @@ WaitForSomething(int *pClientsReady)
+ XFD_COPYSET(&AllSockets, &LastSelectMask);
+ }
+
++ FD_ZERO(&socketsWritable);
++ vncWriteBlockHandler(&socketsWritable);
++
+ BlockHandler((void *) &wt, (void *) &LastSelectMask);
+ if (NewOutputPending)
+ FlushAllOutput();
+@@ -223,10 +230,20 @@ WaitForSomething(int *pClientsReady)
+ i = Select(MaxClients, &LastSelectMask, &clientsWritable, NULL, wt);
+ }
+ else {
+- i = Select(MaxClients, &LastSelectMask, NULL, NULL, wt);
++ if (AnyClientsWriteBlocked)
++ XFD_ORSET(&socketsWritable, &ClientsWriteBlocked, &socketsWritable);
++
++ if (XFD_ANYSET(&socketsWritable)) {
++ i = Select(MaxClients, &LastSelectMask, &socketsWritable, NULL, wt);
++ if (AnyClientsWriteBlocked)
++ XFD_ANDSET(&clientsWritable, &socketsWritable, &ClientsWriteBlocked);
++ } else {
++ i = Select(MaxClients, &LastSelectMask, NULL, NULL, wt);
++ }
+ }
+ selecterr = GetErrno();
+ WakeupHandler(i, (void *) &LastSelectMask);
++ vncWriteWakeupHandler(i, &socketsWritable);
+ if (i <= 0) { /* An error or timeout occurred */
+ if (dispatchException)
+ return 0;