Fix selection bug
authorRoberto E. Vargas Caballero <k0ga@shike2.com>
Sun, 16 Sep 2012 08:49:12 +0000 (10:49 +0200)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Sun, 16 Sep 2012 08:49:12 +0000 (10:49 +0200)
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(-)

st.c

diff --git a/st.c b/st.c
index 397f6a6..12d6665 100644 (file)
--- 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);