billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=5c9cfca23c1016c16e02641438c51ebafb913eac

commit 5c9cfca23c1016c16e02641438c51ebafb913eac
Author: Boris Faure <bill...@gmail.com>
Date:   Sat Jan 18 18:32:12 2014 +0100

    fix mouse release on SGR mode. Closes T667
---
 src/bin/termio.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/termio.c b/src/bin/termio.c
index 0c669d1..fd2aa53 100644
--- a/src/bin/termio.c
+++ b/src/bin/termio.c
@@ -2664,6 +2664,7 @@ _rep_mouse_down(Termio *sd, Evas_Event_Mouse_Down *ev, 
int cx, int cy)
           {
              int meta = evas_key_modifier_is_set(ev->modifiers, "Alt") ? 8 : 0;
 
+             if (btn > 2) btn = 0;
              snprintf(buf, sizeof(buf), "%c[<%i;%i;%iM", 0x1b,
                       (btn | meta), cx + 1, cy + 1);
              termpty_write(sd->pty, buf, strlen(buf));
@@ -2749,8 +2750,10 @@ _rep_mouse_up(Termio *sd, Evas_Event_Mouse_Up *ev, int 
cx, int cy)
         break;
       case MOUSE_EXT_SGR: // ESC.[.<.NUM.;.NUM.;.NUM.m
           {
+             int btn = ev->button - 1;
+             if (btn > 2) btn = 0;
              snprintf(buf, sizeof(buf), "%c[<%i;%i;%im", 0x1b,
-                      (3 | meta), cx + 1, cy + 1);
+                      (btn | meta), cx + 1, cy + 1);
              termpty_write(sd->pty, buf, strlen(buf));
              ret = EINA_TRUE;
           }

-- 


Reply via email to