Enable VeNCrypt and PAM support.
- update to r4225 - patches merged - tigervnc11-rh611677.patch - tigervnc11-rh633931.patch - tigervnc11-xorg1.10.patch Signed-off-by: Adam Tkac <atkac@redhat.com>
This commit is contained in:
parent
3a803c7f7a
commit
1c75684e3e
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
tigervnc-1.0.90-20100721svn4113.tar.bz2
|
tigervnc-1.0.90-20100721svn4113.tar.bz2
|
||||||
/tigervnc-1.0.90-20100813svn4123.tar.bz2
|
/tigervnc-1.0.90-20100813svn4123.tar.bz2
|
||||||
|
/tigervnc-1.0.90-20101208svn4225.tar.bz2
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
f50b25ddfd9e822ea8fcaf3adcfa775c tigervnc-1.0.90-20100813svn4123.tar.bz2
|
e30858eb41d040696b95901b3de45349 tigervnc-1.0.90-20101208svn4225.tar.bz2
|
||||||
|
@ -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
|
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-20100721svn4113/unix/vncviewer/CConn.cxx.102434 2010-07-20 17:07:44.000000000 +0200
|
--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx.102434 2010-12-08 15:42:16.000000000 +0100
|
||||||
+++ tigervnc-1.0.90-20100721svn4113/unix/vncviewer/CConn.cxx 2010-07-21 17:02:09.900085594 +0200
|
+++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/CConn.cxx 2010-12-08 17:35:37.898546362 +0100
|
||||||
@@ -40,6 +40,8 @@
|
@@ -38,6 +38,8 @@
|
||||||
#include "ServerDialog.h"
|
#include <network/TcpSocket.h>
|
||||||
#include "PasswdDialog.h"
|
#include <cassert>
|
||||||
#include "parameters.h"
|
#include <list>
|
||||||
+#include <string>
|
+#include <string>
|
||||||
+#include <iostream>
|
+#include <iostream>
|
||||||
|
|
||||||
using namespace rfb;
|
#include "TXViewport.h"
|
||||||
|
#include "DesktopWindow.h"
|
||||||
@@ -214,6 +216,15 @@ void CConn::getUserPasswd(char** user, c
|
@@ -232,6 +234,15 @@ void CConn::getUserPasswd(char** user, c
|
||||||
return;
|
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* secType = secTypeName(csecurity->getType());
|
||||||
const char* titlePrefix = _("VNC authentication");
|
const char* titlePrefix = _("VNC authentication");
|
||||||
unsigned int titleLen = strlen(titlePrefix) + strlen(secType) + 4;
|
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
|
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-20100721svn4113/unix/vncviewer/parameters.h.102434 2009-03-23 17:49:47.000000000 +0100
|
--- tigervnc-1.0.90-20101208svn4225/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
|
+++ 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
|
@@ -42,6 +42,7 @@ extern rfb::BoolParameter customCompress
|
||||||
extern rfb::IntParameter compressLevel;
|
extern rfb::IntParameter compressLevel;
|
||||||
extern rfb::BoolParameter noJpeg;
|
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 aboutText[];
|
||||||
extern char* programName;
|
extern char* programName;
|
||||||
diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.cxx.102434 tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.cxx
|
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-20100721svn4113/unix/vncviewer/vncviewer.cxx.102434 2010-04-23 16:06:38.000000000 +0200
|
--- tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx.102434 2010-11-18 14:33:57.000000000 +0100
|
||||||
+++ tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.cxx 2010-07-21 17:01:05.979161234 +0200
|
+++ tigervnc-1.0.90-20101208svn4225/unix/vncviewer/vncviewer.cxx 2010-12-08 17:34:44.138568781 +0100
|
||||||
@@ -59,7 +59,7 @@ IntParameter wmDecorationHeight("WMDecor
|
@@ -61,7 +61,7 @@ IntParameter wmDecorationHeight("WMDecor
|
||||||
StringParameter passwordFile("PasswordFile",
|
StringParameter passwordFile("PasswordFile",
|
||||||
"Password file for VNC authentication", "");
|
"Password file for VNC authentication", "");
|
||||||
AliasParameter passwd("passwd", "Alias for PasswordFile", &passwordFile);
|
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",
|
BoolParameter useLocalCursor("UseLocalCursor",
|
||||||
"Render the mouse cursor locally", true);
|
"Render the mouse cursor locally", true);
|
||||||
BoolParameter dotWhenNoCursor("DotWhenNoCursor",
|
BoolParameter dotWhenNoCursor("DotWhenNoCursor",
|
||||||
diff -up tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.man.102434 tigervnc-1.0.90-20100721svn4113/unix/vncviewer/vncviewer.man
|
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-20100721svn4113/unix/vncviewer/vncviewer.man.102434 2009-10-07 17:13:00.000000000 +0200
|
--- tigervnc-1.0.90-20101208svn4225/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
|
+++ 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
|
@@ -119,6 +119,11 @@ the server, you can specify it here to a
|
||||||
"~/.vnc/passwd".
|
"~/.vnc/passwd".
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
%define snap 20100813svn4123
|
%define snap 20101208svn4225
|
||||||
|
|
||||||
Name: tigervnc
|
Name: tigervnc
|
||||||
Version: 1.0.90
|
Version: 1.0.90
|
||||||
Release: 0.24.%{snap}%{?dist}
|
Release: 0.24.%{snap}%{?dist}.1
|
||||||
Summary: A TigerVNC remote display system
|
Summary: A TigerVNC remote display system
|
||||||
|
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
@ -23,7 +23,7 @@ BuildRequires: libxkbfile-devel, openssl-devel, libpciaccess-devel
|
|||||||
BuildRequires: mesa-libGL-devel, libXinerama-devel, ImageMagick
|
BuildRequires: mesa-libGL-devel, libXinerama-devel, ImageMagick
|
||||||
BuildRequires: freetype-devel, libXdmcp-devel
|
BuildRequires: freetype-devel, libXdmcp-devel
|
||||||
BuildRequires: desktop-file-utils, java-1.5.0-gcj-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
|
%ifarch %ix86 x86_64
|
||||||
BuildRequires: nasm
|
BuildRequires: nasm
|
||||||
@ -43,9 +43,6 @@ Patch0: tigervnc-102434.patch
|
|||||||
Patch4: tigervnc-cookie.patch
|
Patch4: tigervnc-cookie.patch
|
||||||
Patch8: tigervnc-viewer-reparent.patch
|
Patch8: tigervnc-viewer-reparent.patch
|
||||||
Patch10: tigervnc11-ldnow.patch
|
Patch10: tigervnc11-ldnow.patch
|
||||||
Patch12: tigervnc11-rh611677.patch
|
|
||||||
Patch13: tigervnc11-rh633931.patch
|
|
||||||
Patch14: tigervnc11-xorg1.10.patch
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Virtual Network Computing (VNC) is a remote display system which
|
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
|
%patch4 -p1 -b .cookie
|
||||||
%patch8 -p1 -b .viewer-reparent
|
%patch8 -p1 -b .viewer-reparent
|
||||||
%patch10 -p1 -b .ldnow
|
%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
|
cp -r /usr/share/xorg-x11-server-source/* unix/xserver
|
||||||
pushd unix/xserver
|
pushd unix/xserver
|
||||||
for all in `find . -type f -perm -001`; do
|
for all in `find . -type f -perm -001`; do
|
||||||
chmod -x "$all"
|
chmod -x "$all"
|
||||||
done
|
done
|
||||||
patch -p1 -b --suffix .vnc < ../xserver19.patch
|
patch -p1 -b --suffix .vnc < ../xserver110.patch
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Use newer gettext
|
# Use newer gettext
|
||||||
@ -148,12 +142,11 @@ sed -i 's/AM_GNU_GETTEXT_VERSION.*/AM_GNU_GETTEXT_VERSION([0.18.1])/' \
|
|||||||
configure.ac
|
configure.ac
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# Temporary build with -fno-omit-frame-pointer, it causes problems
|
export CFLAGS="$RPM_OPT_FLAGS"
|
||||||
export CFLAGS="$RPM_OPT_FLAGS -fno-omit-frame-pointer"
|
|
||||||
export CXXFLAGS="$CFLAGS"
|
export CXXFLAGS="$CFLAGS"
|
||||||
|
|
||||||
autoreconf -fiv
|
autoreconf -fiv
|
||||||
%configure --disable-static --with-system-jpeg --disable-gnutls
|
%configure --disable-static --with-system-jpeg
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
@ -303,6 +296,14 @@ fi
|
|||||||
%doc LICENCE.TXT
|
%doc LICENCE.TXT
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Dec 10 2010 Adam Tkac <atkac redhat com> 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 <atkac redhat com> 1.0.90-0.24.20100813svn4123
|
* Mon Dec 06 2010 Adam Tkac <atkac redhat com> 1.0.90-0.24.20100813svn4123
|
||||||
- rebuild against xserver 1.10.X
|
- rebuild against xserver 1.10.X
|
||||||
- 0001-Return-Success-from-generate_modkeymap-when-max_keys.patch merged
|
- 0001-Return-Success-from-generate_modkeymap-when-max_keys.patch merged
|
||||||
|
@ -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();
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
|
||||||
|
|
@ -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<<i)) ?
|
|
||||||
ButtonPress : ButtonRelease;
|
|
||||||
+#if XORG < 110
|
|
||||||
n = GetPointerEvents(eventq, pointerDev, action, i + 1,
|
|
||||||
POINTER_RELATIVE, 0, 0, NULL);
|
|
||||||
+#else
|
|
||||||
+ valuator_mask_set_range(&mask, 0, 0, NULL);
|
|
||||||
+ n = GetPointerEvents(eventq, pointerDev, action, i + 1,
|
|
||||||
+ POINTER_RELATIVE, &mask);
|
|
||||||
+#endif
|
|
||||||
enqueueEvents(pointerDev, n);
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -160,6 +172,9 @@ void InputDevice::PointerButtonAction(in
|
|
||||||
void InputDevice::PointerMove(const rfb::Point &pos)
|
|
||||||
{
|
|
||||||
int n, valuators[2];
|
|
||||||
+#if XORG >= 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.
|
|
Loading…
Reference in New Issue
Block a user