diff --git a/.gitignore b/.gitignore index 777a30e..d828d0a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ tigervnc-1.0.90-20100721svn4113.tar.bz2 /tigervnc-1.0.90-20100813svn4123.tar.bz2 +/tigervnc-1.0.90-20101208svn4225.tar.bz2 diff --git a/sources b/sources index a168ca4..ea6ea25 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f50b25ddfd9e822ea8fcaf3adcfa775c tigervnc-1.0.90-20100813svn4123.tar.bz2 +e30858eb41d040696b95901b3de45349 tigervnc-1.0.90-20101208svn4225.tar.bz2 diff --git a/tigervnc-102434.patch b/tigervnc-102434.patch index 4bd3c7d..4beccd8 100644 --- a/tigervnc-102434.patch +++ b/tigervnc-102434.patch @@ -1,16 +1,16 @@ -diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/CConn.cxx.102434 tigervnc-1.0.90-20100721svn4113/unix/vncviewer/CConn.cxx ---- tigervnc-1.0.90-20100721svn4113/unix/vncviewer/CConn.cxx.102434 2010-07-20 17:07:44.000000000 +0200 -+++ tigervnc-1.0.90-20100721svn4113/unix/vncviewer/CConn.cxx 2010-07-21 17:02:09.900085594 +0200 -@@ -40,6 +40,8 @@ - #include "ServerDialog.h" - #include "PasswdDialog.h" - #include "parameters.h" +diff -up tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx.102434 tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx +--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx.102434 2010-12-08 15:42:16.000000000 +0100 ++++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx 2010-12-08 17:35:37.898546362 +0100 +@@ -38,6 +38,8 @@ + #include + #include + #include +#include +#include - using namespace rfb; - -@@ -214,6 +216,15 @@ void CConn::getUserPasswd(char** user, c + #include "TXViewport.h" + #include "DesktopWindow.h" +@@ -232,6 +234,15 @@ void CConn::getUserPasswd(char** user, c return; } @@ -26,9 +26,9 @@ diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/CConn.cxx.102434 tigervn const char* secType = secTypeName(csecurity->getType()); const char* titlePrefix = _("VNC authentication"); unsigned int titleLen = strlen(titlePrefix) + strlen(secType) + 4; -diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/parameters.h.102434 tigervnc-1.0.90-20100721svn4113/unix/vncviewer/parameters.h ---- tigervnc-1.0.90-20100721svn4113/unix/vncviewer/parameters.h.102434 2009-03-23 17:49:47.000000000 +0100 -+++ tigervnc-1.0.90-20100721svn4113/unix/vncviewer/parameters.h 2010-07-21 16:55:44.414314911 +0200 +diff -up tigervnc-1.0.90-20101208svn4225/unix/vncviewer/parameters.h.102434 tigervnc-1.0.90-20101208svn4225/unix/vncviewer/parameters.h +--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/parameters.h.102434 2009-03-23 17:49:47.000000000 +0100 ++++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/parameters.h 2010-12-08 17:34:44.138568781 +0100 @@ -42,6 +42,7 @@ extern rfb::BoolParameter customCompress extern rfb::IntParameter compressLevel; extern rfb::BoolParameter noJpeg; @@ -37,10 +37,10 @@ diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/parameters.h.102434 tige extern char aboutText[]; extern char* programName; -diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.cxx.102434 tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.cxx ---- tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.cxx.102434 2010-04-23 16:06:38.000000000 +0200 -+++ tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.cxx 2010-07-21 17:01:05.979161234 +0200 -@@ -59,7 +59,7 @@ IntParameter wmDecorationHeight("WMDecor +diff -up tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx.102434 tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx +--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx.102434 2010-11-18 14:33:57.000000000 +0100 ++++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx 2010-12-08 17:34:44.138568781 +0100 +@@ -61,7 +61,7 @@ IntParameter wmDecorationHeight("WMDecor StringParameter passwordFile("PasswordFile", "Password file for VNC authentication", ""); AliasParameter passwd("passwd", "Alias for PasswordFile", &passwordFile); @@ -49,9 +49,9 @@ diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.cxx.102434 tig BoolParameter useLocalCursor("UseLocalCursor", "Render the mouse cursor locally", true); BoolParameter dotWhenNoCursor("DotWhenNoCursor", -diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.man.102434 tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.man ---- tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.man.102434 2009-10-07 17:13:00.000000000 +0200 -+++ tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.man 2010-07-21 16:55:44.414314911 +0200 +diff -up tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.man.102434 tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.man +--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.man.102434 2009-10-07 17:13:00.000000000 +0200 ++++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.man 2010-12-08 17:34:44.138568781 +0100 @@ -119,6 +119,11 @@ the server, you can specify it here to a "~/.vnc/passwd". diff --git a/tigervnc.spec b/tigervnc.spec index cdc9b56..1526913 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -1,8 +1,8 @@ -%define snap 20100813svn4123 +%define snap 20101208svn4225 Name: tigervnc Version: 1.0.90 -Release: 0.24.%{snap}%{?dist} +Release: 0.24.%{snap}%{?dist}.1 Summary: A TigerVNC remote display system Group: User Interface/Desktops @@ -23,7 +23,7 @@ BuildRequires: libxkbfile-devel, openssl-devel, libpciaccess-devel BuildRequires: mesa-libGL-devel, libXinerama-devel, ImageMagick BuildRequires: freetype-devel, libXdmcp-devel BuildRequires: desktop-file-utils, java-1.5.0-gcj-devel -BuildRequires: libjpeg-turbo-devel +BuildRequires: libjpeg-turbo-devel, gnutls-devel, pam-devel %ifarch %ix86 x86_64 BuildRequires: nasm @@ -43,9 +43,6 @@ Patch0: tigervnc-102434.patch Patch4: tigervnc-cookie.patch Patch8: tigervnc-viewer-reparent.patch Patch10: tigervnc11-ldnow.patch -Patch12: tigervnc11-rh611677.patch -Patch13: tigervnc11-rh633931.patch -Patch14: tigervnc11-xorg1.10.patch %description Virtual Network Computing (VNC) is a remote display system which @@ -131,16 +128,13 @@ This package contains license of the TigerVNC suite %patch4 -p1 -b .cookie %patch8 -p1 -b .viewer-reparent %patch10 -p1 -b .ldnow -%patch12 -p1 -b .rh611677 -%patch13 -p1 -b .rh633931 -%patch14 -p1 -b .xorg1.10 cp -r /usr/share/xorg-x11-server-source/* unix/xserver pushd unix/xserver for all in `find . -type f -perm -001`; do chmod -x "$all" done -patch -p1 -b --suffix .vnc < ../xserver19.patch +patch -p1 -b --suffix .vnc < ../xserver110.patch popd # Use newer gettext @@ -148,12 +142,11 @@ sed -i 's/AM_GNU_GETTEXT_VERSION.*/AM_GNU_GETTEXT_VERSION([0.18.1])/' \ configure.ac %build -# Temporary build with -fno-omit-frame-pointer, it causes problems -export CFLAGS="$RPM_OPT_FLAGS -fno-omit-frame-pointer" +export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$CFLAGS" autoreconf -fiv -%configure --disable-static --with-system-jpeg --disable-gnutls +%configure --disable-static --with-system-jpeg make %{?_smp_mflags} @@ -303,6 +296,14 @@ fi %doc LICENCE.TXT %changelog +* Fri Dec 10 2010 Adam Tkac 1.0.90-0.25.20101208svn4225 +- update to r4225 +- patches merged + - tigervnc11-rh611677.patch + - tigervnc11-rh633931.patch + - tigervnc11-xorg1.10.patch +- enable VeNCrypt and PAM support + * Mon Dec 06 2010 Adam Tkac 1.0.90-0.24.20100813svn4123 - rebuild against xserver 1.10.X - 0001-Return-Success-from-generate_modkeymap-when-max_keys.patch merged diff --git a/tigervnc11-rh611677.patch b/tigervnc11-rh611677.patch deleted file mode 100644 index 029854b..0000000 --- a/tigervnc11-rh611677.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -up tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Input.cc.rh611677 tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Input.cc ---- tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Input.cc.rh611677 2010-08-24 17:40:00.511860227 +0200 -+++ tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Input.cc 2010-08-24 17:49:23.169007409 +0200 -@@ -322,6 +322,11 @@ public: - return; - } - -+ if (maxKeysPerMod == 0) { -+ vlog.debug("Keyboard has no modifiers"); -+ return; -+ } -+ - keycode = modmap[modIndex * maxKeysPerMod]; - xfree(modmap); - #else -@@ -355,6 +360,11 @@ public: - vlog.error("generate_modkeymap failed"); - return; - } -+ -+ if (maxKeysPerMod == 0) { -+ vlog.debug("Keyboard has no modifiers"); -+ return; -+ } - #else - maxKeysPerMod = keyc->maxKeysPerModifier; - #endif -@@ -530,6 +540,9 @@ void InputDevice::keyEvent(rdr::U32 keys - return; - } - -+ if (maxKeysPerMod == 0) -+ vlog.debug("Keyboard has no modifiers"); -+ - state = XkbStateFieldFromRec(&keyc->xkbInfo->state); - #else - keyc = keyboardDev->key; -@@ -565,11 +578,13 @@ void InputDevice::keyEvent(rdr::U32 keys - ModeSwitchFound: - - int col = 0; -- if ((state & (1 << ShiftMapIndex)) != 0) -- col |= 1; -- if (modeSwitchMapIndex != 0 && -- ((state & (1 << modeSwitchMapIndex))) != 0) -- col |= 2; -+ if (maxKeysPerMod != 0) { -+ if ((state & (1 << ShiftMapIndex)) != 0) -+ col |= 1; -+ if (modeSwitchMapIndex != 0 && -+ ((state & (1 << modeSwitchMapIndex))) != 0) -+ col |= 2; -+ } - - int kc = KeysymToKeycode(keymap, keysym, &col); - -@@ -581,7 +596,8 @@ ModeSwitchFound: - * We never get ISO_Left_Tab here because it's already been translated - * in VNCSConnectionST. - */ -- if (keysym == XK_Tab && ((state & (1 << ShiftMapIndex))) != 0) -+ if (maxKeysPerMod != 0 && keysym == XK_Tab && -+ ((state & (1 << ShiftMapIndex))) != 0) - col |= 1; - - if (kc == 0) { -@@ -662,18 +678,20 @@ ModeSwitchFound: - } - } - -- ModifierState shift(keyboardDev, ShiftMapIndex); -- ModifierState modeSwitch(keyboardDev, modeSwitchMapIndex); -- if (down) { -- if (col & 1) -- shift.press(); -- else -- shift.release(); -- if (modeSwitchMapIndex) { -- if (col & 2) -- modeSwitch.press(); -+ if (maxKeysPerMod != 0) { -+ ModifierState shift(keyboardDev, ShiftMapIndex); -+ ModifierState modeSwitch(keyboardDev, modeSwitchMapIndex); -+ if (down) { -+ if (col & 1) -+ shift.press(); - else -- modeSwitch.release(); -+ shift.release(); -+ if (modeSwitchMapIndex) { -+ if (col & 2) -+ modeSwitch.press(); -+ else -+ modeSwitch.release(); -+ } - } - } - diff --git a/tigervnc11-rh633931.patch b/tigervnc11-rh633931.patch deleted file mode 100644 index 71797d5..0000000 --- a/tigervnc11-rh633931.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff -up tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/Input.cc.rh633931 tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/Input.cc ---- tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/Input.cc.rh633931 2010-09-16 11:29:33.670000097 +0200 -+++ tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/Input.cc 2010-09-16 12:59:31.530002411 +0200 -@@ -271,6 +271,19 @@ void InputDevice::initInputDevice(void) - #endif - } - -+static inline void pressKey(DeviceIntPtr dev, int kc, bool down, const char *msg) -+{ -+ int action; -+ unsigned int n; -+ -+ if (msg != NULL) -+ vlog.debug("%s %d %s", msg, kc, down ? "down" : "up"); -+ -+ action = down ? KeyPress : KeyRelease; -+ n = GetKeyboardEvents(eventq, dev, action, kc); -+ enqueueEvents(dev, n); -+} -+ - #define IS_PRESSED(keyc, keycode) \ - ((keyc)->down[(keycode) >> 3] & (1 << ((keycode) & 7))) - -@@ -294,7 +307,7 @@ public: - ~ModifierState() - { - for (int i = 0; i < nKeys; i++) -- generateXKeyEvent(keys[i], !pressed); -+ pressKey(dev, keys[i], !pressed, "fake keycode"); - delete [] keys; - } - -@@ -389,22 +402,10 @@ private: - if (keycode) { - if (!keys) keys = new int[maxKeysPerMod]; - keys[nKeys++] = keycode; -- generateXKeyEvent(keycode, down); -+ pressKey(dev, keycode, down, "fake keycode"); - } - } - -- void generateXKeyEvent(int keycode, bool down) -- { -- int n, action; -- -- action = down ? KeyPress : KeyRelease; -- n = GetKeyboardEvents(eventq, dev, action, keycode); -- enqueueEvents(dev, n); -- -- vlog.debug("fake keycode %d %s", keycode, -- down ? "down" : "up"); -- } -- - int modIndex; - int nKeys; - int *keys; -@@ -503,8 +504,8 @@ void InputDevice::keyEvent(rdr::U32 keys - KeyCode minKeyCode, maxKeyCode; - KeyCode *modmap = NULL; - int mapWidth; -- unsigned int i, n; -- int j, k, action, state, maxKeysPerMod; -+ unsigned int i; -+ int j, k, state, maxKeysPerMod; - - initInputDevice(); - -@@ -691,12 +692,14 @@ ModeSwitchFound: - modeSwitch.release(); - } - } -- } -+ /* -+ * Ensure ModifierState objects are not destroyed before -+ * pressKey call, otherwise fake modifier keypress can be lost. -+ */ -+ pressKey(keyboardDev, kc, down, "keycode"); -+ } else -+ pressKey(keyboardDev, kc, down, "keycode"); - -- vlog.debug("keycode %d %s", kc, down ? "down" : "up"); -- action = down ? KeyPress : KeyRelease; -- n = GetKeyboardEvents(eventq, keyboardDev, action, kc); -- enqueueEvents(keyboardDev, n); - - FREE_MAPS; - diff --git a/tigervnc11-xorg1.10.patch b/tigervnc11-xorg1.10.patch deleted file mode 100644 index adf3056..0000000 --- a/tigervnc11-xorg1.10.patch +++ /dev/null @@ -1,226 +0,0 @@ -diff -up tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/Input.cc.xorg1.10 tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/Input.cc ---- tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/Input.cc.xorg1.10 2010-12-06 13:00:10.112567228 +0100 -+++ tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/Input.cc 2010-12-06 13:03:57.172330576 +0100 -@@ -30,6 +30,9 @@ extern "C" { - #define public c_public - #define class c_class - #include "inputstr.h" -+#if XORG >= 110 -+#include "inpututils.h" -+#endif - #include "mi.h" - #ifndef XKB_IN_SERVER - #define XKB_IN_SERVER -@@ -140,6 +143,9 @@ InputDevice::InputDevice(rfb::VNCServerS - void InputDevice::PointerButtonAction(int buttonMask) - { - int i, n; -+#if XORG >= 110 -+ ValuatorMask mask; -+#endif - - initInputDevice(); - -@@ -147,8 +153,14 @@ void InputDevice::PointerButtonAction(in - if ((buttonMask ^ oldButtonMask) & (1 << i)) { - int action = (buttonMask & (1<= 110 -+ ValuatorMask mask; -+#endif - - if (pos.equals(cursorPos)) - return; -@@ -168,8 +183,14 @@ void InputDevice::PointerMove(const rfb: - - valuators[0] = pos.x; - valuators[1] = pos.y; -+#if XORG < 110 - n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, 0, - 2, valuators); -+#else -+ valuator_mask_set_range(&mask, 0, 2, valuators); -+ n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, -+ &mask); -+#endif - enqueueEvents(pointerDev, n); - - cursorPos = pos; -diff -up tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/vncHooks.cc.xorg1.10 tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/vncHooks.cc ---- tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/vncHooks.cc.xorg1.10 2010-12-06 12:54:18.580543561 +0100 -+++ tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/vncHooks.cc 2010-12-06 12:55:11.630324442 +0100 -@@ -72,7 +72,6 @@ typedef struct { - CreateGCProcPtr CreateGC; - CopyWindowProcPtr CopyWindow; - ClearToBackgroundProcPtr ClearToBackground; -- RestoreAreasProcPtr RestoreAreas; - InstallColormapProcPtr InstallColormap; - StoreColorsProcPtr StoreColors; - DisplayCursorProcPtr DisplayCursor; -@@ -120,7 +119,6 @@ static void vncHooksCopyWindow(WindowPtr - RegionPtr pOldRegion); - static void vncHooksClearToBackground(WindowPtr pWin, int x, int y, int w, - int h, Bool generateExposures); --static RegionPtr vncHooksRestoreAreas(WindowPtr pWin, RegionPtr prgnExposed); - static void vncHooksInstallColormap(ColormapPtr pColormap); - static void vncHooksStoreColors(ColormapPtr pColormap, int ndef, - xColorItem* pdef); -@@ -260,7 +258,6 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse - vncHooksScreen->CreateGC = pScreen->CreateGC; - vncHooksScreen->CopyWindow = pScreen->CopyWindow; - vncHooksScreen->ClearToBackground = pScreen->ClearToBackground; -- vncHooksScreen->RestoreAreas = pScreen->RestoreAreas; - vncHooksScreen->InstallColormap = pScreen->InstallColormap; - vncHooksScreen->StoreColors = pScreen->StoreColors; - vncHooksScreen->DisplayCursor = pScreen->DisplayCursor; -@@ -284,7 +281,6 @@ Bool vncHooksInit(ScreenPtr pScreen, Xse - pScreen->CreateGC = vncHooksCreateGC; - pScreen->CopyWindow = vncHooksCopyWindow; - pScreen->ClearToBackground = vncHooksClearToBackground; -- pScreen->RestoreAreas = vncHooksRestoreAreas; - pScreen->InstallColormap = vncHooksInstallColormap; - pScreen->StoreColors = vncHooksStoreColors; - pScreen->DisplayCursor = vncHooksDisplayCursor; -@@ -334,7 +330,6 @@ static Bool vncHooksCloseScreen(int i, S - pScreen->CreateGC = vncHooksScreen->CreateGC; - pScreen->CopyWindow = vncHooksScreen->CopyWindow; - pScreen->ClearToBackground = vncHooksScreen->ClearToBackground; -- pScreen->RestoreAreas = vncHooksScreen->RestoreAreas; - pScreen->InstallColormap = vncHooksScreen->InstallColormap; - pScreen->StoreColors = vncHooksScreen->StoreColors; - pScreen->DisplayCursor = vncHooksScreen->DisplayCursor; -@@ -428,23 +423,6 @@ static void vncHooksClearToBackground(Wi - SCREEN_REWRAP(ClearToBackground); - } - --// RestoreAreas - changed region is the given region -- --static RegionPtr vncHooksRestoreAreas(WindowPtr pWin, RegionPtr pRegion) --{ -- SCREEN_UNWRAP(pWin->drawable.pScreen, RestoreAreas); -- -- RegionHelper changed(pScreen, pRegion); -- -- RegionPtr result = (*pScreen->RestoreAreas) (pWin, pRegion); -- -- vncHooksScreen->desktop->add_changed(changed.reg); -- -- SCREEN_REWRAP(RestoreAreas); -- -- return result; --} -- - // InstallColormap - get the new colormap - - static void vncHooksInstallColormap(ColormapPtr pColormap) -diff -up tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/xorg-version.h.xorg1.10 tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/xorg-version.h ---- tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/xorg-version.h.xorg1.10 2010-12-06 12:48:26.884227552 +0100 -+++ tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/xorg-version.h 2010-12-06 12:48:57.553289733 +0100 -@@ -34,6 +34,8 @@ - #define XORG 18 - #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (9 * 100000) + (99 * 1000)) - #define XORG 19 -+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000)) -+#define XORG 110 - #else - #error "X.Org newer than 1.9 is not supported" - #endif -diff -up tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/xvnc.cc.xorg1.10 tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/xvnc.cc ---- tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/xvnc.cc.xorg1.10 2010-12-06 12:55:28.590912483 +0100 -+++ tigervnc-1.0.90-20100813svn4123/unix/xserver/hw/vnc/xvnc.cc 2010-12-06 13:07:55.712460842 +0100 -@@ -890,10 +890,6 @@ xf86SetRootClip (ScreenPtr pScreen, Bool - WindowPtr pChild; - Bool WasViewable = (Bool)(pWin->viewable); - Bool anyMarked = FALSE; -- RegionPtr pOldClip = NULL, bsExposed; --#ifdef DO_SAVE_UNDERS -- Bool dosave = FALSE; --#endif - WindowPtr pLayerWin; - BoxRec box; - -@@ -951,12 +947,6 @@ xf86SetRootClip (ScreenPtr pScreen, Bool - - if (WasViewable) - { -- if (pWin->backStorage) -- { -- pOldClip = REGION_CREATE(pScreen, NullBox, 1); -- REGION_COPY(pScreen, pOldClip, &pWin->clipList); -- } -- - if (pWin->firstChild) - { - anyMarked |= (*pScreen->MarkOverlappedWindows)(pWin->firstChild, -@@ -969,47 +959,14 @@ xf86SetRootClip (ScreenPtr pScreen, Bool - anyMarked = TRUE; - } - --#ifdef DO_SAVE_UNDERS -- if (DO_SAVE_UNDERS(pWin)) -- { -- dosave = (*pScreen->ChangeSaveUnder)(pLayerWin, pLayerWin); -- } --#endif /* DO_SAVE_UNDERS */ -- - if (anyMarked) - (*pScreen->ValidateTree)(pWin, NullWindow, VTOther); - } - -- if (pWin->backStorage && -- ((pWin->backingStore == Always) || WasViewable)) -- { -- if (!WasViewable) -- pOldClip = &pWin->clipList; /* a convenient empty region */ -- bsExposed = (*pScreen->TranslateBackingStore) -- (pWin, 0, 0, pOldClip, -- pWin->drawable.x, pWin->drawable.y); -- if (WasViewable) -- REGION_DESTROY(pScreen, pOldClip); -- if (bsExposed) -- { -- RegionPtr valExposed = NullRegion; -- -- if (pWin->valdata) -- valExposed = &pWin->valdata->after.exposed; -- (*pScreen->WindowExposures) (pWin, valExposed, bsExposed); -- if (valExposed) -- REGION_EMPTY(pScreen, valExposed); -- REGION_DESTROY(pScreen, bsExposed); -- } -- } - if (WasViewable) - { - if (anyMarked) - (*pScreen->HandleExposures)(pWin); --#ifdef DO_SAVE_UNDERS -- if (dosave) -- (*pScreen->PostChangeSaveUnder)(pLayerWin, pLayerWin); --#endif /* DO_SAVE_UNDERS */ - if (anyMarked && pScreen->PostValidateTree) - (*pScreen->PostValidateTree)(pWin, NullWindow, VTOther); - } -@@ -1184,8 +1141,6 @@ vfbScreenInit(int index, ScreenPtr pScre - - if (!ret) return FALSE; - -- miInitializeBackingStore(pScreen); -- - /* - * Circumvent the backing store that was just initialised. This amounts - * to a truely bizarre way of initialising SaveDoomedAreas and friends.