diff options
Diffstat (limited to 'st.c')
| -rw-r--r-- | st.c | 13 |
1 files changed, 5 insertions, 8 deletions
| @@ -621,12 +621,9 @@ selected(int x, int y) { | |||
| 621 | } | 621 | } |
| 622 | 622 | ||
| 623 | void | 623 | void |
| 624 | getbuttoninfo(XEvent *e, int *b, int *x, int *y) { | 624 | getbuttoninfo(XEvent *e) { |
| 625 | if(b) | 625 | sel.ex = x2col(e->xbutton.x); |
| 626 | *b = e->xbutton.button; | 626 | sel.ey = y2row(e->xbutton.y); |
| 627 | |||
| 628 | *x = x2col(e->xbutton.x); | ||
| 629 | *y = y2row(e->xbutton.y); | ||
| 630 | 627 | ||
| 631 | sel.b.x = sel.by < sel.ey ? sel.bx : sel.ex; | 628 | sel.b.x = sel.by < sel.ey ? sel.bx : sel.ex; |
| 632 | sel.b.y = MIN(sel.by, sel.ey); | 629 | sel.b.y = MIN(sel.by, sel.ey); |
| @@ -824,7 +821,7 @@ brelease(XEvent *e) { | |||
| 824 | selpaste(NULL); | 821 | selpaste(NULL); |
| 825 | } else if(e->xbutton.button == Button1) { | 822 | } else if(e->xbutton.button == Button1) { |
| 826 | sel.mode = 0; | 823 | sel.mode = 0; |
| 827 | getbuttoninfo(e, NULL, &sel.ex, &sel.ey); | 824 | getbuttoninfo(e); |
| 828 | term.dirty[sel.ey] = 1; | 825 | term.dirty[sel.ey] = 1; |
| 829 | if(sel.bx == sel.ex && sel.by == sel.ey) { | 826 | if(sel.bx == sel.ex && sel.by == sel.ey) { |
| 830 | sel.bx = -1; | 827 | sel.bx = -1; |
| @@ -873,7 +870,7 @@ bmotion(XEvent *e) { | |||
| 873 | if(sel.mode) { | 870 | if(sel.mode) { |
| 874 | oldey = sel.ey; | 871 | oldey = sel.ey; |
| 875 | oldex = sel.ex; | 872 | oldex = sel.ex; |
| 876 | getbuttoninfo(e, NULL, &sel.ex, &sel.ey); | 873 | getbuttoninfo(e); |
| 877 | 874 | ||
| 878 | if(oldey != sel.ey || oldex != sel.ex) { | 875 | if(oldey != sel.ey || oldex != sel.ex) { |
| 879 | starty = MIN(oldey, sel.ey); | 876 | starty = MIN(oldey, sel.ey); |
