summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2a049b4)
raw | patch | inline | side by side (parent: 2a049b4)
author | buliabyak <buliabyak@users.sourceforge.net> | |
Wed, 21 Nov 2007 03:44:12 +0000 (03:44 +0000) | ||
committer | buliabyak <buliabyak@users.sourceforge.net> | |
Wed, 21 Nov 2007 03:44:12 +0000 (03:44 +0000) |
src/event-context.cpp | patch | blob | history |
diff --git a/src/event-context.cpp b/src/event-context.cpp
index 1bf273b31edf5b63c17a617bc4a87c4892c04040..7fca5accb0dd6e7db16d7d994fa74b16f2f84cc7 100644 (file)
--- a/src/event-context.cpp
+++ b/src/event-context.cpp
event_next = gdk_event_get();
// while the next event is also a key notify with the same keyval and mask,
- while (event_next && event_next->type == GDK_KEY_PRESS
+ while (event_next && (event_next->type == GDK_KEY_PRESS || event_next->type == GDK_KEY_RELEASE)
&& event_next->key.keyval == keyval
- && (event_next->key.state & mask)) {
+ && (!mask || (event_next->key.state & mask))) {
+ if (event_next->type == GDK_KEY_PRESS)
+ i ++;
// kill it
gdk_event_free(event_next);
// get next
event_next = gdk_event_get();
- i ++;
}
// otherwise, put it back onto the queue
if (event_next) gdk_event_put(event_next);