Making rectangular selection work again.
authorChristoph Lohmann <20h@r-36.net>
Wed, 20 Mar 2013 20:19:28 +0000 (21:19 +0100)
committerChristoph Lohmann <20h@r-36.net>
Wed, 20 Mar 2013 20:19:28 +0000 (21:19 +0100)
People sending me patches against strange revisions and basing on their own
revisions make me having to reapply them. Then such errors appear.

Thanks Alexander Sedov <alex0player@gmail.com> for noticing this.

st.c

diff --git a/st.c b/st.c
index 0923cec..131cba8 100644 (file)
--- a/st.c
+++ b/st.c
@@ -649,13 +649,10 @@ selected(int x, int y) {
        if(sel.ey == y && sel.by == y) {
                bx = MIN(sel.bx, sel.ex);
                ex = MAX(sel.bx, sel.ex);
+
                return BETWEEN(x, bx, ex);
        }
 
-       return ((sel.b.y < y && y < sel.e.y)
-                       || (y == sel.e.y && x <= sel.e.x))
-                       || (y == sel.b.y && x >= sel.b.x
-                               && (x <= sel.e.x || sel.b.y != sel.e.y));
        switch(sel.type) {
        case SEL_REGULAR:
                return ((sel.b.y < y && y < sel.e.y)