1
1

Got rid of segfault when the root dir only contains hidden files

Instead you now get the usual 'no items to display' message when hiding
hidden files in the root directory.
Этот коммит содержится в:
Yorhel 2010-04-28 15:46:02 +02:00
родитель d7d782be1c
Коммит f18bd86ab8

Просмотреть файл

@ -170,10 +170,9 @@ void dirlist_fixup() {
}
/* no selected items found after one pass? select the first visible item */
if(!selected) {
selected = dirlist_next(NULL);
selected->flags |= FF_BSEL;
}
if(!selected)
if((selected = dirlist_next(NULL)))
selected->flags |= FF_BSEL;
}
@ -239,13 +238,17 @@ struct dir *dirlist_prev(struct dir *d) {
}
/* this function assumes that 'selected' is valid and points to a visible item */
struct dir *dirlist_get(int i) {
struct dir *t = selected, *d;
if(!head)
return NULL;
if(ISHIDDEN(selected)) {
selected = dirlist_next(NULL);
return selected;
}
/* i == 0? return the selected item */
if(!i)
return selected;
@ -273,7 +276,7 @@ struct dir *dirlist_get(int i) {
void dirlist_select(struct dir *d) {
if(!head || ISHIDDEN(d) || d->parent != head->parent)
if(!d || !head || ISHIDDEN(d) || d->parent != head->parent)
return;
selected->flags &= ~FF_BSEL;