]> git.pld-linux.org Git - packages/tigervnc.git/blame - tigervnc-key_is_down.patch
- release 6 (by relup.sh)
[packages/tigervnc.git] / tigervnc-key_is_down.patch
CommitLineData
773b64b1
JR
1diff -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
This page took 0.028164 seconds and 4 git commands to generate.