]> git.pld-linux.org Git - packages/tigervnc.git/blame - tigervnc-xorg111.patch
- rel 9
[packages/tigervnc.git] / tigervnc-xorg111.patch
CommitLineData
2c7d78a4
JR
1diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc
2--- tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
3+++ tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc 2011-09-14 13:22:19.540000049 +0200
4@@ -82,10 +82,11 @@ static KeyCode KeysymToKeycode(KeySymsPt
5 /* Event queue is shared between all devices. */
6 #if XORG == 15
7 static xEvent *eventq = NULL;
8-#else
9+#elif XORG < 111
10 static EventList *eventq = NULL;
11 #endif
12
13+#if XORG < 111
14 static void initEventq(void)
15 {
16 /* eventq is never free()-ed because it exists during server life. */
17@@ -100,7 +101,9 @@ static void initEventq(void)
18 #endif
19 }
20 }
21+#endif /* XORG < 111 */
22
23+#if XORG < 111
24 static void enqueueEvents(DeviceIntPtr dev, int n)
25 {
26 int i;
27@@ -122,6 +125,7 @@ static void enqueueEvents(DeviceIntPtr d
28 );
29 }
30 }
31+#endif /* XORG < 111 */
32
33 InputDevice::InputDevice(rfb::VNCServerST *_server)
34 : server(_server), oldButtonMask(0)
35@@ -141,12 +145,17 @@ InputDevice::InputDevice(rfb::VNCServerS
36 keyboardProc, TRUE);
37 RegisterKeyboardDevice(keyboardDev);
38 #endif
39+#if XORG < 111
40 initEventq();
41+#endif
42 }
43
44 void InputDevice::PointerButtonAction(int buttonMask)
45 {
46- int i, n;
47+ int i;
48+#if XORG < 111
49+ int n;
50+#endif
51 #if XORG >= 110
52 ValuatorMask mask;
53 #endif
54@@ -160,13 +169,17 @@ void InputDevice::PointerButtonAction(in
55 #if XORG < 110
56 n = GetPointerEvents(eventq, pointerDev, action, i + 1,
57 POINTER_RELATIVE, 0, 0, NULL);
58-#else
59+ enqueueEvents(pointerDev, n);
60+#elif XORG < 111
61 valuator_mask_set_range(&mask, 0, 0, NULL);
62 n = GetPointerEvents(eventq, pointerDev, action, i + 1,
63 POINTER_RELATIVE, &mask);
64-#endif
65 enqueueEvents(pointerDev, n);
66-
67+#else
68+ valuator_mask_set_range(&mask, 0, 0, NULL);
69+ QueuePointerEvents(pointerDev, action, i + 1,
70+ POINTER_RELATIVE, &mask);
71+#endif
72 }
73 }
74
75@@ -175,7 +188,10 @@ void InputDevice::PointerButtonAction(in
76
77 void InputDevice::PointerMove(const rfb::Point &pos)
78 {
79- int n, valuators[2];
80+ int valuators[2];
81+#if XORG < 111
82+ int n;
83+#endif
84 #if XORG >= 110
85 ValuatorMask mask;
86 #endif
87@@ -190,12 +206,16 @@ void InputDevice::PointerMove(const rfb:
88 #if XORG < 110
89 n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, 0,
90 2, valuators);
91-#else
92+ enqueueEvents(pointerDev, n);
93+#elif XORG < 111
94 valuator_mask_set_range(&mask, 0, 2, valuators);
95 n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE,
96 &mask);
97-#endif
98 enqueueEvents(pointerDev, n);
99+#else
100+ valuator_mask_set_range(&mask, 0, 2, valuators);
101+ QueuePointerEvents(pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, &mask);
102+#endif
103
104 cursorPos = pos;
105 }
106@@ -299,14 +319,20 @@ void InputDevice::initInputDevice(void)
107 static inline void pressKey(DeviceIntPtr dev, int kc, bool down, const char *msg)
108 {
109 int action;
110+#if XORG < 111
111 unsigned int n;
112+#endif
113
114 if (msg != NULL)
f20bc53a
JR
115 vlog.debug("%s %d %s", msg, kc, down ? "down" : "up");
116
117 action = down ? KeyPress : KeyRelease;
118- n = GetKeyboardEvents(eventq, dev, action, kc);
2c7d78a4 119+#if XORG < 111
f20bc53a
JR
120+ n = GetKeyboardEvents(eventq, dev, action, kc, NULL);
121 enqueueEvents(dev, n);
2c7d78a4
JR
122+#else
123+ QueueKeyboardEvents(dev, action, kc, NULL);
124+#endif
f20bc53a
JR
125 }
126
2c7d78a4
JR
127 #define IS_PRESSED(keyc, keycode) \
128@@ -341,8 +367,11 @@ public:
f20bc53a
JR
129 int state, maxKeysPerMod, keycode;
130 #if XORG >= 17
131 KeyCode *modmap = NULL;
132+ DeviceIntPtr master;
133
134- state = XkbStateFieldFromRec(&dev->u.master->key->xkbInfo->state);
135+ master = GetMaster(dev, MASTER_KEYBOARD);
136+
137+ state = XkbStateFieldFromRec(&master->key->xkbInfo->state);
138 #else
139 KeyClassPtr keyc = dev->key;
140 state = keyc->state;
2c7d78a4 141@@ -379,8 +408,10 @@ public:
f20bc53a
JR
142 KeyClassPtr keyc;
143 #if XORG >= 17
144 KeyCode *modmap = NULL;
145+ DeviceIntPtr master;
146
147- keyc = dev->u.master->key;
148+ master = GetMaster(dev, MASTER_KEYBOARD);
149+ keyc = master->key;
150 state = XkbStateFieldFromRec(&keyc->xkbInfo->state);
151 #else
152 keyc = dev->key;
2c7d78a4 153@@ -565,9 +596,7 @@ static inline int isModifier(KeySymsPtr
f20bc53a
JR
154
155 void InputDevice::keyEvent(rdr::U32 keysym, bool down)
156 {
157-#if XORG < 17
158 DeviceIntPtr master;
159-#endif
160 KeyClassPtr keyc;
161 KeySymsPtr keymap = NULL;
162 KeySym *map = NULL;
2c7d78a4 163@@ -596,7 +625,8 @@ void InputDevice::keyEvent(rdr::U32 keys
f20bc53a
JR
164 }
165
166 #if XORG >= 17
167- keyc = keyboardDev->u.master->key;
168+ master = GetMaster(keyboardDev, MASTER_KEYBOARD);
169+ keyc = master->key;
170
171 keymap = XkbGetCoreMap(keyboardDev);
172 if (!keymap) {
2c7d78a4 173@@ -753,7 +783,7 @@ ModeSwitchFound:
f20bc53a
JR
174 XkbApplyMappingChange(keyboardDev, keymap, minKeyCode,
175 maxKeyCode - minKeyCode + 1,
176 NULL, serverClient);
177- XkbCopyDeviceKeymap(keyboardDev->u.master, keyboardDev);
178+ XkbCopyDeviceKeymap(master, keyboardDev);
179 #endif /* XORG < 17 */
180 break;
181 }
2c7d78a4
JR
182diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h
183--- tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-08-09 23:16:36.000000000 +0200
184+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h 2011-09-12 16:51:36.958000000 +0200
f20bc53a
JR
185@@ -36,6 +36,8 @@
186 #define XORG 19
187 #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000))
188 #define XORG 110
189+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000))
190+#define XORG 111
191 #else
192 #error "X.Org newer than 1.10 is not supported"
193 #endif
2c7d78a4
JR
194diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc
195--- tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-08-09 23:16:36.000000000 +0200
196+++ tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc 2011-09-14 13:49:23.751000543 +0200
197@@ -211,7 +211,11 @@ static void vfbFreeFramebufferMemory(vfb
198
199 extern "C" {
200
201+#if XORG < 111
202 void ddxGiveUp()
203+#else
204+void ddxGiveUp(enum ExitCode error)
205+#endif
206 {
207 int i;
208
209@@ -221,9 +225,17 @@ void ddxGiveUp()
210 }
211
212 void
213+#if XORG < 111
214 AbortDDX()
215+#else
216+AbortDDX(enum ExitCode error)
217+#endif
218 {
219+#if XORG < 111
220 ddxGiveUp();
221+#else
222+ ddxGiveUp(error);
223+#endif
224 }
225
226 #ifdef __DARWIN__
227@@ -668,8 +680,13 @@ vfbUninstallColormap(ColormapPtr pmap)
f20bc53a
JR
228 {
229 if (pmap->mid != pmap->pScreen->defColormap)
230 {
231+#if XORG < 111
232 curpmap = (ColormapPtr) LookupIDByType(pmap->pScreen->defColormap,
233 RT_COLORMAP);
234+#else
235+ dixLookupResourceByType((pointer *) &curpmap, pmap->pScreen->defColormap,
236+ RT_COLORMAP, serverClient, DixUnknownAccess);
237+#endif
238 (*pmap->pScreen->InstallColormap)(curpmap);
239 }
240 }
This page took 0.050006 seconds and 4 git commands to generate.