After a mouse action, the key_index needs to be set back to zero. You
can reproduce the bug by performing a mouse action, then trying to
perform a dvtm keyboard command. You'll see that the MOD key is not
matched with a key binding, so will print to the current terminal
instead.

-Ross

(Excuse the double post. I don't know if Marc is signed up for the move
to hackers@ yet.)

diff --git a/dvtm.c b/dvtm.c
index 464a223..cd8178d 100644
--- a/dvtm.c
+++ b/dvtm.c
@@ -1776,6 +1776,7 @@ main(int argc, char *argv[]) {
 				keys[key_index++] = code;
 				KeyBinding *binding = NULL;
 				if (code == KEY_MOUSE) {
+					key_index = 0;
 					handle_mouse();
 				} else if ((binding = keybinding(keys))) {
 					unsigned int key_length = 0;

Reply via email to