diff options
author | BurnZeZ <brz-9dev@feline.systems> | 2015-10-24 22:57:07 -0400 |
---|---|---|
committer | BurnZeZ <brz-9dev@feline.systems> | 2015-10-24 22:57:07 -0400 |
commit | 8f27b8d04dfb40d396fc6499fda4bcc2a9a13d42 (patch) | |
tree | 217e88ef2beca82ba965d18648e23879163686c9 /sys/src/cmd/rio | |
parent | 847f3a0cf54ac6aaafaeda7f6c6a4422e2f14700 (diff) |
rio: fix scrolling when cursor is above window
Diffstat (limited to 'sys/src/cmd/rio')
-rw-r--r-- | sys/src/cmd/rio/scrl.c | 11 |
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; |