st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit d81250e5f96e96dd430a3fc61b5b47ffc04f98d8
parent c5a9b799d44be9c0fa4264dc34d9dd61321be795
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Sun, 16 Sep 2012 10:49:12 +0200

Fix selection bug

After the commit named "Remove timeout in the main loop", selection is not
working in the proper way. After selecting something, press mouse button in
a line outside of selection causes an incorrect highlight. This patch fix
the problem forcing a draw after the press event, but this is only a fast
hack. Real solution means rewriting selection code.
---
 st.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Diffstat:
Mst.c | 5++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/st.c b/st.c
@@ -561,8 +561,11 @@ bpress(XEvent *e) {
     if(IS_SET(MODE_MOUSE))
         mousereport(e);
     else if(e->xbutton.button == Button1) {
-        if(sel.bx != -1)
+        if(sel.bx != -1) {
+            sel.bx = -1;
             tsetdirt(sel.b.y, sel.e.y);
+            draw();
+        }
         sel.mode = 1;
         sel.ex = sel.bx = X2COL(e->xbutton.x);
         sel.ey = sel.by = Y2ROW(e->xbutton.y);