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;
while (work)
{
gint match;
- IconData *id = work->data;
- FileData *fd = id->fd;
- work = work->next;
+ 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);
}
-
}
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;
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)