Greetings comrades,

as discussed in the channel, is there some bug in the key handling
of surf, when a key is sent from svkbd. Other applications do not
seem to be affected. Attached is the diff for surf.c, which will
only test for the real affected bits in the modificator of the
state, instead of some facist cleanmask.


Sincerely,

Christoph Lohmann
diff -r 2533f186089d surf.c
--- a/surf.c    Thu Mar 31 12:52:35 2011 +0200
+++ b/surf.c    Thu Sep 08 16:20:02 2011 +0200
@@ -345,7 +345,7 @@
        updatewinid(c);
        for(i = 0; i < LENGTH(keys); i++) {
                if(gdk_keyval_to_lower(ev->keyval) == keys[i].keyval
-                               && CLEANMASK(ev->state) == keys[i].mod
+                               && (ev->state & keys[i].mod) == keys[i].mod
                                && keys[i].func) {
                        keys[i].func(c, &(keys[i].arg));
                        processed = TRUE;

Reply via email to