summaryrefslogtreecommitdiff
path: root/sys/src/cmd/rio
diff options
context:
space:
mode:
authorBurnZeZ <brz-9dev@feline.systems>2015-10-24 22:57:07 -0400
committerBurnZeZ <brz-9dev@feline.systems>2015-10-24 22:57:07 -0400
commit8f27b8d04dfb40d396fc6499fda4bcc2a9a13d42 (patch)
tree217e88ef2beca82ba965d18648e23879163686c9 /sys/src/cmd/rio
parent847f3a0cf54ac6aaafaeda7f6c6a4422e2f14700 (diff)
rio: fix scrolling when cursor is above window
Diffstat (limited to 'sys/src/cmd/rio')
-rw-r--r--sys/src/cmd/rio/scrl.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/src/cmd/rio/scrl.c b/sys/src/cmd/rio/scrl.c
index de0257538..c8e6acf7c 100644
--- a/sys/src/cmd/rio/scrl.c
+++ b/sys/src/cmd/rio/scrl.c
@@ -153,10 +153,13 @@ wscroll(Window *w, int but)
readmouse(&w->mc);
continue;
}
- if(but == 1 || but == 4)
- p0 = wbacknl(w, w->org, (my-s.min.y)/w->font->height);
- else
- p0 = w->org+frcharofpt(w, Pt(s.max.x, my));
+ if(but == 1 || but == 4){
+ y = max(1, (my-s.min.y)/w->font->height);
+ p0 = wbacknl(w, w->org, y);
+ }else{
+ y = max(my, s.min.y+w->font->height);
+ p0 = w->org+frcharofpt(w, Pt(s.max.x, y));
+ }
if(oldp0 != p0)
wsetorigin(w, p0, TRUE);
oldp0 = p0;