]> git.wh0rd.org Git - nano.git/commitdiff
Letting a mousal repositioning of the cursor break a series of ^Ks.
authorBenno Schulenberg <bensberg@justemail.net>
Fri, 13 Jun 2014 12:07:18 +0000 (12:07 +0000)
committerBenno Schulenberg <bensberg@justemail.net>
Fri, 13 Jun 2014 12:07:18 +0000 (12:07 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4960 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
src/nano.c

index b5232b0ec050c135f917e2bdbe3c5cabb8d68872..aa0faa20bce7b0e94426d05722400e10bb7d07bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-13  Benno Schulenberg  <bensberg@justemail.net>
+       * src/nano.c (do_input): Repositioning the cursor with the mouse
+       (result == 0) should break a series of ^Ks.
+
 2014-06-11  Benno Schulenberg  <bensberg@justemail.net>
        * src/winio.c (get_mouseinput): Produce the correct return value for
        when a mouse event reinserted something into the keyboard buffer.
index 4e9ce8b5ae2d9c76ab5a7633c439471ab3798107..7e9b59b0ce9f2f01dae4c65e3bef73ad49328f72 100644 (file)
@@ -1587,11 +1587,15 @@ int do_input(bool *meta_key, bool *func_key, bool allow_funcs)
 
 #ifndef DISABLE_MOUSE
     if (*func_key && input == KEY_MOUSE) {
-       /* We received a mouse click -- if it was on a shortcut, read in
-        * the produced shortcut character, otherwise get out. */
-       if (do_mouse() == 1)
+       /* We received a mouse click. */
+       int result = do_mouse();
+
+       if (result == 1)
+           /* The click was on a shortcut -- read in the character
+            * that it was converted into. */
            input = get_kbinput(edit, meta_key, func_key);
-       else
+       else if (result != 0)
+           /* The click was invalid -- get out. */
            return ERR;
     }
 #endif