Fix selection bug - st - Simple Terminal
Log
Files
Refs
README
LICENSE
---
commit d81250e5f96e96dd430a3fc61b5b47ffc04f98d8
parent c5a9b799d44be9c0fa4264dc34d9dd61321be795
Author: Roberto E. Vargas Caballero 
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:
  st.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);