tFixing the selection in a single line again. - st - [fork] customized build of… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit b5144100a59956b5bf69614a077bd4d252d7dc6c | |
parent 8f1bef05025c0052603f7ca30552a43395b4c13f | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sun, 26 May 2013 16:10:22 +0200 | |
Fixing the selection in a single line again. | |
Thanks [email protected]! | |
Diffstat: | |
M st.c | 11 ++++++++--- | |
1 file changed, 8 insertions(+), 3 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -667,16 +667,21 @@ y2row(int y) { | |
static void | |
selsort(void) { | |
- sel.nb.x = sel.ob.y < sel.oe.y ? sel.ob.x : sel.oe.x; | |
+ if(sel.ob.y == sel.oe.y) { | |
+ sel.nb.x = MIN(sel.ob.x, sel.oe.x); | |
+ sel.ne.x = MAX(sel.ob.x, sel.oe.x); | |
+ } else { | |
+ sel.nb.x = sel.ob.y < sel.oe.y ? sel.ob.x : sel.oe.x; | |
+ sel.ne.x = sel.ob.y < sel.oe.y ? sel.oe.x : sel.ob.x; | |
+ } | |
sel.nb.y = MIN(sel.ob.y, sel.oe.y); | |
- sel.ne.x = sel.ob.y < sel.oe.y ? sel.oe.x : sel.ob.x; | |
sel.ne.y = MAX(sel.ob.y, sel.oe.y); | |
} | |
static inline bool | |
selected(int x, int y) { | |
if(sel.ne.y == y && sel.nb.y == y) | |
- return BETWEEN(x, sel.nb.x, sel.ne.y); | |
+ return BETWEEN(x, sel.nb.x, sel.ne.x); | |
if(sel.type == SEL_RECTANGULAR) { | |
return ((sel.nb.y <= y && y <= sel.ne.y) |