Update the xorg11 patch.
Signed-off-by: Adam Tkac <atkac@redhat.com>
This commit is contained in:
parent
74395a46e8
commit
28c13dab39
@ -314,6 +314,7 @@ fi
|
|||||||
%changelog
|
%changelog
|
||||||
* Mon Sep 12 2011 Adam Tkac <atkac redhat com> - 1.1.0-1
|
* Mon Sep 12 2011 Adam Tkac <atkac redhat com> - 1.1.0-1
|
||||||
- update to 1.1.0
|
- update to 1.1.0
|
||||||
|
- update the xorg11 patch
|
||||||
- patches merged
|
- patches merged
|
||||||
- tigervnc11-glx.patch
|
- tigervnc11-glx.patch
|
||||||
- tigervnc11-CVE-2011-1775.patch
|
- tigervnc11-CVE-2011-1775.patch
|
||||||
|
@ -1,16 +1,131 @@
|
|||||||
diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc
|
diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc
|
||||||
--- tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 2011-05-12 10:42:52.813229993 +0200
|
--- tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
|
||||||
+++ tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc 2011-05-12 10:52:41.036211939 +0200
|
+++ tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc 2011-09-14 13:22:19.540000049 +0200
|
||||||
@@ -305,7 +305,7 @@ static inline void pressKey(DeviceIntPtr
|
@@ -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");
|
vlog.debug("%s %d %s", msg, kc, down ? "down" : "up");
|
||||||
|
|
||||||
action = down ? KeyPress : KeyRelease;
|
action = down ? KeyPress : KeyRelease;
|
||||||
- n = GetKeyboardEvents(eventq, dev, action, kc);
|
- n = GetKeyboardEvents(eventq, dev, action, kc);
|
||||||
|
+#if XORG < 111
|
||||||
+ n = GetKeyboardEvents(eventq, dev, action, kc, NULL);
|
+ n = GetKeyboardEvents(eventq, dev, action, kc, NULL);
|
||||||
enqueueEvents(dev, n);
|
enqueueEvents(dev, n);
|
||||||
|
+#else
|
||||||
|
+ QueueKeyboardEvents(dev, action, kc, NULL);
|
||||||
|
+#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -341,8 +341,11 @@ public:
|
#define IS_PRESSED(keyc, keycode) \
|
||||||
|
@@ -341,8 +367,11 @@ public:
|
||||||
int state, maxKeysPerMod, keycode;
|
int state, maxKeysPerMod, keycode;
|
||||||
#if XORG >= 17
|
#if XORG >= 17
|
||||||
KeyCode *modmap = NULL;
|
KeyCode *modmap = NULL;
|
||||||
@ -23,7 +138,7 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un
|
|||||||
#else
|
#else
|
||||||
KeyClassPtr keyc = dev->key;
|
KeyClassPtr keyc = dev->key;
|
||||||
state = keyc->state;
|
state = keyc->state;
|
||||||
@@ -379,8 +382,10 @@ public:
|
@@ -379,8 +408,10 @@ public:
|
||||||
KeyClassPtr keyc;
|
KeyClassPtr keyc;
|
||||||
#if XORG >= 17
|
#if XORG >= 17
|
||||||
KeyCode *modmap = NULL;
|
KeyCode *modmap = NULL;
|
||||||
@ -35,7 +150,7 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un
|
|||||||
state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
|
state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
|
||||||
#else
|
#else
|
||||||
keyc = dev->key;
|
keyc = dev->key;
|
||||||
@@ -565,9 +570,7 @@ static inline int isModifier(KeySymsPtr
|
@@ -565,9 +596,7 @@ static inline int isModifier(KeySymsPtr
|
||||||
|
|
||||||
void InputDevice::keyEvent(rdr::U32 keysym, bool down)
|
void InputDevice::keyEvent(rdr::U32 keysym, bool down)
|
||||||
{
|
{
|
||||||
@ -45,7 +160,7 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un
|
|||||||
KeyClassPtr keyc;
|
KeyClassPtr keyc;
|
||||||
KeySymsPtr keymap = NULL;
|
KeySymsPtr keymap = NULL;
|
||||||
KeySym *map = NULL;
|
KeySym *map = NULL;
|
||||||
@@ -596,7 +599,8 @@ void InputDevice::keyEvent(rdr::U32 keys
|
@@ -596,7 +625,8 @@ void InputDevice::keyEvent(rdr::U32 keys
|
||||||
}
|
}
|
||||||
|
|
||||||
#if XORG >= 17
|
#if XORG >= 17
|
||||||
@ -55,7 +170,7 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un
|
|||||||
|
|
||||||
keymap = XkbGetCoreMap(keyboardDev);
|
keymap = XkbGetCoreMap(keyboardDev);
|
||||||
if (!keymap) {
|
if (!keymap) {
|
||||||
@@ -753,7 +757,7 @@ ModeSwitchFound:
|
@@ -753,7 +783,7 @@ ModeSwitchFound:
|
||||||
XkbApplyMappingChange(keyboardDev, keymap, minKeyCode,
|
XkbApplyMappingChange(keyboardDev, keymap, minKeyCode,
|
||||||
maxKeyCode - minKeyCode + 1,
|
maxKeyCode - minKeyCode + 1,
|
||||||
NULL, serverClient);
|
NULL, serverClient);
|
||||||
@ -64,9 +179,9 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un
|
|||||||
#endif /* XORG < 17 */
|
#endif /* XORG < 17 */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h
|
diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h
|
||||||
--- tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-05-12 10:40:34.109227333 +0200
|
--- tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-08-09 23:16:36.000000000 +0200
|
||||||
+++ tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h 2011-05-12 10:41:10.970229530 +0200
|
+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h 2011-09-12 16:51:36.958000000 +0200
|
||||||
@@ -36,6 +36,8 @@
|
@@ -36,6 +36,8 @@
|
||||||
#define XORG 19
|
#define XORG 19
|
||||||
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000))
|
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000))
|
||||||
@ -76,10 +191,40 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.0
|
|||||||
#else
|
#else
|
||||||
#error "X.Org newer than 1.10 is not supported"
|
#error "X.Org newer than 1.10 is not supported"
|
||||||
#endif
|
#endif
|
||||||
diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc
|
diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc
|
||||||
--- tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-05-12 10:54:21.068235787 +0200
|
--- tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
|
||||||
+++ tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc 2011-05-12 10:59:01.867225478 +0200
|
+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc 2011-09-14 13:49:23.751000543 +0200
|
||||||
@@ -670,8 +670,13 @@ vfbUninstallColormap(ColormapPtr pmap)
|
@@ -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 (pmap->mid != pmap->pScreen->defColormap)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user