Magellan Linux

Contents of /trunk/tigervnc/patches/tigervnc-1.3.0-key_is_down.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2252 - (show annotations) (download)
Mon Aug 12 09:25:56 2013 UTC (10 years, 9 months ago) by niro
File size: 1668 byte(s)
-add patches for 1.3.0
1 diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.key_is_down tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc
2 --- tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.key_is_down 2013-07-24 12:54:41.461930866 +0100
3 +++ tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc 2013-07-24 13:04:39.743663652 +0100
4 @@ -321,7 +321,11 @@ std::list<KeyCode> InputDevice::releaseS
5 XkbAction *act;
6 unsigned char mask;
7
8 - if (!key_is_down(master, key, KEY_PROCESSED))
9 + int bit;
10 + BYTE *kptr;
11 + kptr = &master->key->down[key >> 3];
12 + bit = 1 << (key & 7);
13 + if (*kptr & bit)
14 continue;
15
16 act = XkbKeyActionPtr(xkb, key, state);
17 @@ -402,7 +406,11 @@ std::list<KeyCode> InputDevice::releaseL
18 XkbAction *act;
19 unsigned char key_mask;
20
21 - if (!key_is_down(master, key, KEY_PROCESSED))
22 + int bit;
23 + BYTE *kptr;
24 + kptr = &master->key->down[key >> 3];
25 + bit = 1 << (key & 7);
26 + if (*kptr & bit)
27 continue;
28
29 act = XkbKeyActionPtr(xkb, key, state);
30 @@ -638,6 +646,8 @@ void InputDevice::vncXkbProcessDeviceEve
31
32 if (event->device_event.sourceid == self->keyboardDev->id) {
33 XkbControlsPtr ctrls;
34 + int bit;
35 + BYTE *kptr;
36
37 /*
38 * We need to bypass AccessX since it is timing sensitive and
39 @@ -651,8 +661,10 @@ void InputDevice::vncXkbProcessDeviceEve
40 * This flag needs to be set for key repeats to be properly
41 * respected.
42 */
43 + kptr = &dev->key->down[event->device_event.detail.key >> 3];
44 + bit = 1 << (event->device_event.detail.key & 7);
45 if ((event->device_event.type == ET_KeyPress) &&
46 - key_is_down(dev, event->device_event.detail.key, KEY_PROCESSED))
47 + (*kptr & bit))
48 event->device_event.key_repeat = TRUE;
49 }
50