Magellan Linux

Annotation of /trunk/tigervnc/patches/tigervnc-1.0.1-r3924-rh541559.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1201 - (hide annotations) (download)
Mon Nov 22 23:25:59 2010 UTC (13 years, 7 months ago) by niro
File size: 1162 byte(s)
-patches for 1.0.1 against xorg-server-1.7
1 niro 1201 Index: unix/xserver/hw/vnc/Input.cc
2     ===================================================================
3     --- unix/xserver/hw/vnc/Input.cc (revision 3923)
4     +++ unix/xserver/hw/vnc/Input.cc (revision 3924)
5     @@ -373,6 +373,14 @@
6     unsigned int i, n;
7     int j, k, action;
8    
9     + /*
10     + * Since we are checking the current state to determine if we need
11     + * to fake modifiers, we must make sure that everything put on the
12     + * input queue is processed before we start. Otherwise, shift may be
13     + * stuck down.
14     + */
15     + mieqProcessInputEvents();
16     +
17     if (keysym == XK_Caps_Lock) {
18     vlog.debug("Ignoring caps lock");
19     return;
20     @@ -506,6 +514,15 @@
21     action = down ? KeyPress : KeyRelease;
22     n = GetKeyboardEvents(eventq, dev, action, kc);
23     enqueueEvents(dev, n);
24     +
25     + /*
26     + * When faking a modifier we are putting a keycode (which can
27     + * currently activate the desired modifier) on the input
28     + * queue. A future modmap change can change the mapping so
29     + * that this keycode means something else entirely. Guard
30     + * against this by processing the queue now.
31     + */
32     + mieqProcessInputEvents();
33     }
34    
35     static KeySym KeyCodetoKeySym(KeySymsPtr keymap, int keycode, int col)