listbox_resize(): Avoid segmentation fault
Only try to fix the visible region if an item is selected. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
parent
d971d7aa35
commit
e026481f11
@ -64,6 +64,10 @@ void listbox_resize(struct listbox *lb, int y, int x, int h, int w)
|
|||||||
{
|
{
|
||||||
EXIT_IF(lb == NULL, "null pointer");
|
EXIT_IF(lb == NULL, "null pointer");
|
||||||
wins_scrollwin_resize(&(lb->sw), y, x, h, w);
|
wins_scrollwin_resize(&(lb->sw), y, x, h, w);
|
||||||
|
|
||||||
|
if (lb->item_sel < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
wins_scrollwin_ensure_visible(&(lb->sw), lb->ch[lb->item_sel]);
|
wins_scrollwin_ensure_visible(&(lb->sw), lb->ch[lb->item_sel]);
|
||||||
wins_scrollwin_ensure_visible(&(lb->sw), lb->ch[lb->item_sel + 1] - 1);
|
wins_scrollwin_ensure_visible(&(lb->sw), lb->ch[lb->item_sel + 1] - 1);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user