Andrew de Quincey
Thu, 17 Dec 2009 06:10:53 -0800
I'm building against 1.7.3.901 under gentoo. So far I've only had the time to test Xvnc itself, but it seems to be ok so far...
--- tigervnc.orig/unix/xserver/hw/vnc/vncHooks.cc 2009-03-19 13:38:02.000000000 +0000
+++ tigervnc/unix/xserver/hw/vnc/vncHooks.cc 2009-12-17 10:30:57.754976395 +0000
@@ -119,7 +119,7 @@
static void vncHooksStoreColors(ColormapPtr pColormap, int ndef,
xColorItem* pdef);
static Bool vncHooksDisplayCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
DeviceIntPtr pDev,
#endif
ScreenPtr pScreen, CursorPtr cursor);
@@ -454,7 +454,7 @@
// DisplayCursor - get the cursor shape
static Bool vncHooksDisplayCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
DeviceIntPtr pDev,
#endif
ScreenPtr pScreen_, CursorPtr cursor)
@@ -462,11 +462,11 @@
SCREEN_UNWRAP(pScreen_, DisplayCursor);
Bool ret = (*pScreen->DisplayCursor) (
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
pDev,
#endif
pScreen, cursor);
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
/*
* XXX DIX calls this function with NULL argument to remove cursor sprite from
* screen. Should we handle this in setCursor as well?
@@ -474,7 +474,7 @@
if (cursor != NullCursor) {
#endif
vncHooksScreen->desktop->setCursor(cursor);
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
}
#endif
--- tigervnc.orig/unix/xserver/hw/vnc/XserverDesktop.h 2009-04-03 13:40:01.000000000 +0100
+++ tigervnc/unix/xserver/hw/vnc/XserverDesktop.h 2009-12-17 10:28:39.967903699 +0000
@@ -30,9 +30,13 @@
((1 * 10000000) + (5 * 100000) + (99 * 1000))
/* Xorg 1.5 branch */
#define XORG_15
-#else
+#elseif XORG_VERSION_CURRENT < \
+ ((1 * 10000000) + (6 * 100000) + (99 * 1000))
/* Xorg 1.6 branch */
#define XORG_16
+#else
+/* Xorg 1.7 branch */
+#define XORG_17
#endif
#include <rfb/SDesktop.h>
--- tigervnc.orig/unix/xserver/hw/vnc/XserverDesktop.cc 2009-04-06 19:45:59.000000000 +0100
+++ tigervnc/unix/xserver/hw/vnc/XserverDesktop.cc 2009-12-17 12:02:10.074902144 +0000
@@ -68,6 +68,17 @@
extern void
CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
#endif
+
+#if defined(XORG_17)
+#include <xkbsrv.h>
+#include <xkbstr.h>
+#include <xserver-properties.h>
+#include "exevents.h"
+extern void
+CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
+extern _X_EXPORT DevPrivateKey CoreDevicePrivateKey;
+#endif
+
#ifdef RANDR
#include "randrstr.h"
#endif
@@ -211,7 +222,7 @@
*/
if (vncKeyboardDevice == NULL) {
vncKeyboardDevice = AddInputDevice(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
serverClient,
#endif
vfbKeybdProc, TRUE);
@@ -220,7 +231,7 @@
if (vncPointerDevice == NULL) {
vncPointerDevice = AddInputDevice(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
serverClient,
#endif
vfbMouseProc, TRUE);
@@ -244,8 +255,13 @@
int i;
pointer retval;
+#ifdef XORG_17
+ i = dixLookupResourceByType(&retval, pScreen->defColormap, RT_COLORMAP, NullClient,
+ DixReadAccess);
+#else
i = dixLookupResource(&retval, pScreen->defColormap, RT_COLORMAP, NullClient,
DixReadAccess);
+#endif
/* Handle suspicious conditions */
assert(i == Success);
@@ -557,7 +573,7 @@
if (!cursorPos.equals(oldCursorPos)) {
oldCursorPos = cursorPos;
(*pScreen->SetCursorPosition) (
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
vncPointerDevice,
#endif
pScreen, cursorPos.x, cursorPos.y, FALSE);
@@ -578,7 +594,7 @@
if (screenWithCursor == pScreen) {
int x, y;
GetSpritePosition(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
vncPointerDevice,
#endif
&x, &y);
@@ -742,7 +758,7 @@
//(*pScreen->SetCursorPosition) (pScreen, pos.x, pos.y, FALSE);
NewCurrentScreen(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
vncPointerDevice,
#endif
pScreen, pos.x, pos.y);
@@ -751,7 +767,7 @@
valuators[0] = pos.x;
valuators[1] = pos.y;
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
GetEventList(&eventq);
#endif
n = GetPointerEvents (eventq, vncPointerDevice, MotionNotify, 0,
@@ -762,7 +778,7 @@
#ifdef XORG_15
eventq + i
#else
- (eventq + i)->event
+ (InternalEvent*) (eventq + i)->event
#endif
);
}
@@ -782,7 +798,7 @@
#ifdef XORG_15
eventq + j
#else
- (eventq + j)->event
+ (InternalEvent*) (eventq + j)->event
#endif
);
}
@@ -976,28 +992,61 @@
delete [] keys;
}
void press() {
+#ifdef XORG_17
+ if (!(XkbStateFieldFromRec(&vncKeyboardDevice->key->xkbInfo->state) & (1<<modIndex))) {
+ KeyCode *modkeymap = NULL;
+ int ret, max_keys_per_mod;
+
+ ret = generate_modkeymap(serverClient, vncKeyboardDevice, &modkeymap, &max_keys_per_mod);
+ if (ret == Success) {
+ tempKeyEvent(modkeymap[modIndex * max_keys_per_mod],
+ true, max_keys_per_mod);
+ pressed = true;
+ xfree(modkeymap);
+ }
+ }
+#else
KeyClassPtr keyc = vncKeyboardDevice->key;
if (!(keyc->state & (1<<modIndex))) {
tempKeyEvent(keyc->modifierKeyMap[modIndex * keyc->maxKeysPerModifier],
- true);
+ true, keyc->maxKeysPerModifier);
pressed = true;
}
+#endif
}
void release() {
+#ifdef XORG_17
+ KeyClassPtr keyc = vncKeyboardDevice->key;
+ if (XkbStateFieldFromRec(&vncKeyboardDevice->key->xkbInfo->state) & (1<<modIndex)) {
+ KeyCode *modkeymap = NULL;
+ int ret, max_keys_per_mod;
+
+ ret = generate_modkeymap(serverClient, vncKeyboardDevice, &modkeymap, &max_keys_per_mod);
+ if (ret == Success) {
+ for (int k = 0; k < max_keys_per_mod; k++) {
+ int keycode = modkeymap[modIndex * max_keys_per_mod + k];
+ if (keycode && IS_PRESSED(keyc, keycode))
+ tempKeyEvent(keycode, false, max_keys_per_mod);
+ }
+ xfree(modkeymap);
+ }
+ }
+#else
KeyClassPtr keyc = vncKeyboardDevice->key;
if (keyc->state & (1<<modIndex)) {
for (int k = 0; k < keyc->maxKeysPerModifier; k++) {
int keycode
= keyc->modifierKeyMap[modIndex * keyc->maxKeysPerModifier + k];
if (keycode && IS_PRESSED(keyc, keycode))
- tempKeyEvent(keycode, false);
+ tempKeyEvent(keycode, false, keyc->maxKeysPerModifier);
}
}
+#endif
}
private:
- void tempKeyEvent(int keycode, bool down) {
+ void tempKeyEvent(int keycode, bool down, int max_keys_per_mod) {
if (keycode) {
- if (!keys) keys = new int[vncKeyboardDevice->key->maxKeysPerModifier];
+ if (!keys) keys = new int[max_keys_per_mod];
keys[nKeys++] = keycode;
generateXKeyEvent(keycode, down);
}
@@ -1011,7 +1060,7 @@
#ifdef XORG_15
eventq + i
#else
- (eventq + i)->event
+ (InternalEvent*) (eventq + i)->event
#endif
);
}
@@ -1100,20 +1149,42 @@
{
DeviceIntPtr master;
KeyClassPtr keyc = vncKeyboardDevice->key;
- KeySymsPtr keymap = &keyc->curKeySyms;
+ KeySymsPtr keymap = NULL;
+ KeyCode *modkeymap = NULL;
+ int max_keys_per_mod;
unsigned int i, n;
int j, k;
+ int state;
if (keysym == XK_Caps_Lock) {
vlog.debug("Ignoring caps lock");
return;
}
+#ifdef XORG_17
+ keymap = XkbGetCoreMap(vncKeyboardDevice);
+ if (!keymap)
+ return;
+
+ if (generate_modkeymap(serverClient, vncKeyboardDevice, &modkeymap, &max_keys_per_mod) != Success) {
+ xfree(keymap->map);
+ xfree(keymap);
+ return;
+ }
+
+ state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
+#else
+ state = keyc->state;
+ max_keys_per_mod = keyc->maxKeysPerModifier;
+ keymap = &keyc->curKeySyms;
+ modkeymap = keyc->modifierKeyMap;
+#endif
+
// find which modifier Mode_switch is on.
int modeSwitchMapIndex = 0;
for (i = 3; i < 8; i++) {
- for (k = 0; k < keyc->maxKeysPerModifier; k++) {
- int keycode = keyc->modifierKeyMap[i * keyc->maxKeysPerModifier + k];
+ for (k = 0; k < max_keys_per_mod; k++) {
+ int keycode = modkeymap[i * max_keys_per_mod + k];
for (j = 0; j < keymap->mapWidth; j++) {
if (keycode != 0 &&
keymap->map[(keycode - keymap->minKeyCode)
@@ -1127,8 +1198,8 @@
}
int col = 0;
- if (keyc->state & (1<<ShiftMapIndex)) col |= 1;
- if (modeSwitchMapIndex && (keyc->state & (1<<modeSwitchMapIndex))) col |= 2;
+ if (state & (1<<ShiftMapIndex)) col |= 1;
+ if (modeSwitchMapIndex && (state & (1<<modeSwitchMapIndex))) col |= 2;
int kc = KeysymToKeycode(keymap, keysym, &col);
@@ -1137,7 +1208,7 @@
// local keyboard (it might be Tab, ISO_Left_Tab or HP's private BackTab
// keysym, and quite possibly some others too). We never get ISO_Left_Tab
// here because it's already been translated in VNCSConnectionST.
- if (keysym == XK_Tab && (keyc->state & (1<<ShiftMapIndex)))
+ if (keysym == XK_Tab && (state & (1<<ShiftMapIndex)))
col |= 1;
if (kc == 0) {
@@ -1180,6 +1251,11 @@
}
if (kc < keymap->minKeyCode) {
vlog.info("Keyboard mapping full - ignoring unknown keysym 0x%x",keysym);
+#ifdef XORG_17
+ xfree(keymap->map);
+ xfree(keymap);
+ xfree(modkeymap);
+#endif
return;
}
}
@@ -1187,12 +1263,18 @@
// See if it's a modifier key. If so, then don't do any auto-repeat, because
// the X server will translate each press into a release followed by a press.
for (i = 0; i < 8; i++) {
- for (k = 0; k < keyc->maxKeysPerModifier; k++) {
- if (kc == keyc->modifierKeyMap[i * keyc->maxKeysPerModifier + k] &&
- IS_PRESSED(keyc,kc) && down)
+ for (k = 0; k < max_keys_per_mod; k++) {
+ if (kc == modkeymap[i * max_keys_per_mod + k] &&
+ IS_PRESSED(keyc,kc) && down) {
+#ifdef XORG_17
+ xfree(keymap->map);
+ xfree(keymap);
+ xfree(modkeymap);
+#endif
return;
}
}
+ }
ModifierState shift(ShiftMapIndex);
ModifierState modeSwitch(modeSwitchMapIndex);
@@ -1216,10 +1298,16 @@
#ifdef XORG_15
eventq + i
#else
- (eventq + i)->event
+ (InternalEvent*) (eventq + i)->event
#endif
);
}
+
+#ifdef XORG_17
+ xfree(keymap->map);
+ xfree(keymap);
+ xfree(modkeymap);
+#endif
}
static KeySym KeyCodetoKeySym(KeySymsPtr keymap, int keycode, int col)
@@ -1444,7 +1532,9 @@
KeySymsRec keySyms;
CARD8 modMap[MAP_LENGTH];
DevicePtr pDev = (DevicePtr)pDevice;
-#ifdef XKB
+#ifdef XORG_17
+ XkbRMLVOSet rmlvo;
+#elif defined(XKB)
XkbComponentNamesRec names;
#endif
@@ -1452,6 +1542,16 @@
{
case DEVICE_INIT:
GetMappings(&keySyms, modMap);
+#ifdef XORG_17
+ rmlvo.rules = (char*) "base";
+ rmlvo.model = (char*) "pc105";
+ rmlvo.layout = (char*) "us";
+ rmlvo.variant = NULL;
+ rmlvo.options = NULL;
+ XkbSetRulesDflts(&rmlvo);
+ InitKeyboardDeviceStruct(pDevice, &rmlvo,
+ (BellProcPtr)vfbBell, (KbdCtrlProcPtr)NoopDDA);
+#else
#ifdef XKB
if (!noXkbExtension) {
memset(&names, 0, sizeof (names));
@@ -1460,11 +1560,12 @@
(BellProcPtr)vfbBell,
(KbdCtrlProcPtr)NoopDDA);
} else
-#endif
+#endif /* XKB */
{
InitKeyboardDeviceStruct(pDev, &keySyms, modMap,
(BellProcPtr)vfbBell, (KbdCtrlProcPtr)NoopDDA);
}
+#endif /* XORG_17 */
break;
case DEVICE_ON:
pDev->on = TRUE;
@@ -1482,6 +1583,10 @@
{
BYTE map[6];
DevicePtr pDev = (DevicePtr)pDevice;
+#ifdef XORG_17
+ Atom btn_labels[5];
+ Atom axes_labels[2];
+#endif
switch (onoff)
{
@@ -1491,11 +1596,28 @@
map[3] = 3;
map[4] = 4;
map[5] = 5;
- InitPointerDeviceStruct(pDev, map, 5,
#ifdef XORG_15
+ InitPointerDeviceStruct(pDev, map, 5,
GetMotionHistory,
-#endif
(PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(), 2);
+#elif defined(XORG_16)
+ InitPointerDeviceStruct(pDev, map, 5,
+ (PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(), 2);
+#elif defined(XORG_17)
+ btn_labels[5] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_HWHEEL_LEFT);
+ btn_labels[4] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_WHEEL_DOWN);
+ btn_labels[3] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_WHEEL_UP);
+ btn_labels[2] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_RIGHT);
+ btn_labels[1] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_MIDDLE);
+ btn_labels[0] = XIGetKnownProperty((char*) BTN_LABEL_PROP_BTN_LEFT);
+
+ axes_labels[0] = XIGetKnownProperty((char*) AXIS_LABEL_PROP_REL_X);
+ axes_labels[1] = XIGetKnownProperty((char*) AXIS_LABEL_PROP_REL_Y);
+
+ InitPointerDeviceStruct(pDev, map, 5, btn_labels,
+ (PtrCtrlProcPtr)NoopDDA, GetMotionHistorySize(),
+ 2, axes_labels);
+#endif
break;
case DEVICE_ON:
--- tigervnc.orig/unix/xserver/hw/vnc/xvnc.cc 2009-08-19 10:36:24.000000000 +0100
+++ tigervnc/unix/xserver/hw/vnc/xvnc.cc 2009-12-17 12:57:41.955905374 +0000
@@ -80,6 +80,13 @@
#endif /* RANDR */
#include <X11/keysym.h>
extern char buildtime[];
+
+#ifdef XORG_17
+#undef VENDOR_RELEASE
+#undef VENDOR_STRING
+#include <site.h>
+#endif
+
#undef class
#undef public
}
@@ -628,9 +635,16 @@
{
if (pmap->mid != pmap->pScreen->defColormap)
{
+#if defined(XORG_15) || defined(XORG_16)
curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
RT_COLORMAP);
(*pmap->pScreen->InstallColormap)(curpmap);
+#else
+ int ret = dixLookupResourceByType((pointer*) &curpmap, pmap->pScreen->defColormap, RT_COLORMAP, NullClient,
+ DixReadAccess);
+ if (ret == Success)
+ (*pmap->pScreen->InstallColormap)((ColormapPtr)curpmap);
+#endif
}
}
}
@@ -736,7 +750,7 @@
}
static Bool vfbRealizeCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
DeviceIntPtr pDev,
#endif
ScreenPtr pScreen, CursorPtr pCursor) {
@@ -744,7 +758,7 @@
}
static Bool vfbUnrealizeCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
DeviceIntPtr pDev,
#endif
ScreenPtr pScreen, CursorPtr pCursor) {
@@ -752,7 +766,7 @@
}
static void vfbSetCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
DeviceIntPtr pDev,
#endif
ScreenPtr pScreen, CursorPtr pCursor, int x, int y)
@@ -760,14 +774,14 @@
}
static void vfbMoveCursor(
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
DeviceIntPtr pDev,
#endif
ScreenPtr pScreen, int x, int y)
{
}
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
static Bool
vfbDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScreen)
{
@@ -785,7 +799,7 @@
vfbUnrealizeCursor,
vfbSetCursor,
vfbMoveCursor
-#ifdef XORG_16
+#if defined(XORG_16) || defined(XORG_17)
, vfbDeviceCursorInitialize,
vfbDeviceCursorCleanup
#endif
--- tigervnc.orig/unix/xserver/hw/vnc/vncExtInit.cc 2009-04-03 13:40:01.000000000 +0100
+++ tigervnc/unix/xserver/hw/vnc/vncExtInit.cc 2009-12-17 11:12:13.472905066 +0000
@@ -185,7 +185,7 @@
vncExtGeneration = serverGeneration;
ExtensionEntry* extEntry
- = AddExtension(VNCEXTNAME, VncExtNumberEvents, VncExtNumberErrors,
+ = AddExtension((char*) VNCEXTNAME, VncExtNumberEvents, VncExtNumberErrors,
ProcVncExtDispatch, SProcVncExtDispatch, vncResetProc,
StandardMinorOpcode);
if (!extEntry) {
--- tigervnc.orig/unix/xserver/hw/vnc/Makefile.am 2009-02-25 13:36:14.000000000 +0000
+++ tigervnc/unix/xserver/hw/vnc/Makefile.am 2009-12-17 10:01:39.054604007 +0000
@@ -50,7 +50,7 @@
libvnc_la_LDFLAGS = -module -avoid-version
-libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
+libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(top_srcdir)/Xi/libXi.la $(top_srcdir)/dix/libdix.la
EXTRA_DIST = Xvnc.man
--- xserver/configure.ac.vnc 2009-12-16 18:53:17.208009726 +0000
+++ xserver/configure.ac 2009-12-16 19:00:56.624009167 +0000
@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.7.3.901, [https
RELEASE_DATE="2009-12-11"
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
-AM_MAINTAINER_MODE
AC_CONFIG_FILES([
shave
@@ -64,6 +63,7 @@ dnl forcing an entire recompile.x
AC_CONFIG_HEADERS(include/version-config.h)
AC_PROG_CC
+AC_PROG_CXX
AM_PROG_AS
AC_PROG_INSTALL
AC_PROG_LN_S
@@ -1383,6 +1383,9 @@ 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"])
+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_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
dnl Xnest DDX
@@ -1421,6 +1424,8 @@ xorg_bus_linuxpci=no
xorg_bus_bsdpci=no
xorg_bus_sparc=no
+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'
@@ -1649,7 +1654,6 @@ if test "x$XORG" = xyes; then
AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
AC_DEFINE(XFree86LOADER, 1, [Building loadable 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])
@@ -2094,6 +2098,7 @@ hw/dmx/input/Makefile
hw/dmx/glxProxy/Makefile
hw/dmx/Makefile
hw/vfb/Makefile
+hw/vnc/Makefile
hw/xnest/Makefile
hw/xwin/Makefile
hw/xquartz/Makefile
--- xserver/mi/miinitext.c.vnc 2009-12-16 18:53:20.864010515 +0000
+++ xserver/mi/miinitext.c 2009-12-16 19:01:23.664009203 +0000
@@ -274,6 +274,7 @@ extern void DamageExtensionInit(INITARGS
extern void CompositeExtensionInit(INITARGS);
#endif
extern void GEExtensionInit(INITARGS);
+extern void vncExtensionInit(INITARGS);
/* The following is only a small first step towards run-time
* configurable extensions.
@@ -454,6 +455,7 @@ InitExtensions(int argc, char *argv[])
#ifdef XF86BIGFONT
if (!noXFree86BigfontExtension) XFree86BigfontExtensionInit();
#endif
+ vncExtensionInit();
#if !defined(NO_HW_ONLY_EXTS)
#if defined(XF86VIDMODE)
if (!noXFree86VidModeExtension) XFree86VidModeExtensionInit();
--- xserver/hw/Makefile.am.vnc 2009-12-16 18:53:17.816009029 +0000
+++ xserver/hw/Makefile.am 2009-12-16 19:01:31.064009345 +0000
@@ -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
------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________ Tigervnc-devel mailing list Tigervnc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tigervnc-devel