aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Lohmann <20h@r-36.net>2013-03-29 18:39:01 +0100
committerChristoph Lohmann <20h@r-36.net>2013-03-29 18:39:01 +0100
commita1e3b94b374c269f9d379f40b67b8519a485b8a6 (patch)
tree2db8980eac03935bbd6836be92540a6168d55065
parent4b17dddb104bd2ac87dd6e334aafd325197c1407 (diff)
downloadst-patched-a1e3b94b374c269f9d379f40b67b8519a485b8a6.tar.bz2
st-patched-a1e3b94b374c269f9d379f40b67b8519a485b8a6.tar.xz
st-patched-a1e3b94b374c269f9d379f40b67b8519a485b8a6.zip
Removing an undefined case. just do regular selections.
-rw-r--r--st.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/st.c b/st.c
index 131cba8..599685c 100644
--- a/st.c
+++ b/st.c
@@ -653,16 +653,14 @@ selected(int x, int y) {
653 return BETWEEN(x, bx, ex); 653 return BETWEEN(x, bx, ex);
654 } 654 }
655 655
656 switch(sel.type) { 656 if(sel.type == SEL_RECTANGULAR) {
657 case SEL_REGULAR:
658 return ((sel.b.y < y && y < sel.e.y)
659 || (y == sel.e.y && x <= sel.e.x))
660 || (y == sel.b.y && x >= sel.b.x
661 && (x <= sel.e.x || sel.b.y != sel.e.y));
662 case SEL_RECTANGULAR:
663 return ((sel.b.y <= y && y <= sel.e.y) 657 return ((sel.b.y <= y && y <= sel.e.y)
664 && (sel.b.x <= x && x <= sel.e.x)); 658 && (sel.b.x <= x && x <= sel.e.x));
665 }; 659 }
660 return ((sel.b.y < y && y < sel.e.y)
661 || (y == sel.e.y && x <= sel.e.x))
662 || (y == sel.b.y && x >= sel.b.x
663 && (x <= sel.e.x || sel.b.y != sel.e.y));
666} 664}
667 665
668void 666void
@@ -1254,8 +1252,12 @@ selscroll(int orig, int n) {
1254 sel.bx = -1; 1252 sel.bx = -1;
1255 return; 1253 return;
1256 } 1254 }
1257 switch(sel.type) { 1255 if(sel.type == SEL_RECTANGULAR) {
1258 case SEL_REGULAR: 1256 if(sel.by < term.top)
1257 sel.by = term.top;
1258 if(sel.ey > term.bot)
1259 sel.ey = term.bot;
1260 } else {
1259 if(sel.by < term.top) { 1261 if(sel.by < term.top) {
1260 sel.by = term.top; 1262 sel.by = term.top;
1261 sel.bx = 0; 1263 sel.bx = 0;
@@ -1264,14 +1266,7 @@ selscroll(int orig, int n) {
1264 sel.ey = term.bot; 1266 sel.ey = term.bot;
1265 sel.ex = term.col; 1267 sel.ex = term.col;
1266 } 1268 }
1267 break; 1269 }
1268 case SEL_RECTANGULAR:
1269 if(sel.by < term.top)
1270 sel.by = term.top;
1271 if(sel.ey > term.bot)
1272 sel.ey = term.bot;
1273 break;
1274 };
1275 sel.b.y = sel.by, sel.b.x = sel.bx; 1270 sel.b.y = sel.by, sel.b.x = sel.bx;
1276 sel.e.y = sel.ey, sel.e.x = sel.ex; 1271 sel.e.y = sel.ey, sel.e.x = sel.ex;
1277 } 1272 }