# HG changeset patch # User nadvornik # Date 1230938041 0 # Node ID b51874ca8642a3c85abca668c7c7a52b47a1e16c # Parent 98be4a5e36f88ada97a2720619f01e13b968bc88 fixed updating of selection after deleting the last image from the list diff -r 98be4a5e36f8 -r b51874ca8642 src/view_file_icon.c --- a/src/view_file_icon.c Fri Jan 02 22:57:09 2009 +0000 +++ b/src/view_file_icon.c Fri Jan 02 23:14:01 2009 +0000 @@ -1036,6 +1036,7 @@ static void vficon_select_closest(ViewFile *vf, FileData *sel_fd) { GList *work; + IconData *id = NULL; if (sel_fd->parent) sel_fd = sel_fd->parent; work = vf->list; @@ -1043,21 +1044,22 @@ while (work) { gint match; - IconData *id = work->data; - FileData *fd = id->fd; + FileData *fd; + + id = work->data; + fd = id->fd; work = work->next; - match = filelist_sort_compare_filedata_full(fd, sel_fd, vf->sort_method, vf->sort_ascend); - if (match >= 0) - { - vficon_select(vf, id); - vficon_send_layout_select(vf, id); - break; - } + if (match >= 0) break; } - + + if (id) + { + vficon_select(vf, id); + vficon_send_layout_select(vf, id); + } } diff -r 98be4a5e36f8 -r b51874ca8642 src/view_file_list.c --- a/src/view_file_list.c Fri Jan 02 22:57:09 2009 +0000 +++ b/src/view_file_list.c Fri Jan 02 23:14:01 2009 +0000 @@ -1518,6 +1518,7 @@ static void vflist_select_closest(ViewFile *vf, FileData *sel_fd) { GList *work; + FileData *fd = NULL; if (sel_fd->parent) sel_fd = sel_fd->parent; work = vf->list; @@ -1525,19 +1526,16 @@ while (work) { gint match; - FileData *fd = work->data; + fd = work->data; work = work->next; - match = filelist_sort_compare_filedata_full(fd, sel_fd, vf->sort_method, vf->sort_ascend); - if (match >= 0) - { - vflist_select_by_fd(vf, fd); - break; - } + if (match >= 0) break; } + if (fd) vflist_select_by_fd(vf, fd); + } void vflist_mark_to_selection(ViewFile *vf, gint mark, MarkToSelectionMode mode)