Introduction
Introduction Statistics Contact Development Disclaimer Help
do not draw a row, scrollbar or statusbar if its completely outside the window …
git clone git://git.codemadness.org/sfeed_curses
Log
Files
Refs
README
LICENSE
---
commit e8baa8ef0f426922b49a941a18fa26f7b6bcc37e
parent 3bc8fcc8b261f1b73d8b24d7a3f5cd8e2654ab78
Author: Hiltjo Posthuma <[email protected]>
Date: Wed, 31 Mar 2021 18:13:01 +0200
do not draw a row, scrollbar or statusbar if its completely outside the window
The drawing of the row outside is reproducable if only 2 "dirty" rows are
redrawn.
Diffstat:
M sfeed_curses.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/sfeed_curses.c b/sfeed_curses.c
@@ -799,7 +799,8 @@ pane_row_draw(struct pane *p, off_t pos, int selected)
{
struct row *row;
- if (p->hidden || !p->width || !p->height)
+ if (p->hidden || !p->width || !p->height ||
+ p->x >= win.width || p->y + (pos % p->height) >= win.height)
return;
row = pane_row_get(p, pos);
@@ -1024,7 +1025,7 @@ scrollbar_draw(struct scrollbar *s)
if (!s->dirty)
return;
s->dirty = 0;
- if (s->hidden || !s->size)
+ if (s->hidden || !s->size || s->x >= win.width || s->y >= win.height)
return;
cursorsave();
@@ -1188,7 +1189,7 @@ statusbar_draw(struct statusbar *s)
if (!s->dirty)
return;
s->dirty = 0;
- if (s->hidden || !s->width)
+ if (s->hidden || !s->width || s->x >= win.width || s->y >= win.height)
return;
cursorsave();
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.