]> git.pld-linux.org Git - packages/tigervnc.git/blob - tigervnc-key_is_down.patch
- release 6 (by relup.sh)
[packages/tigervnc.git] / tigervnc-key_is_down.patch
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  
This page took 0.056121 seconds and 3 git commands to generate.