From 70751490caa160fb865f95e7d5e594d5094e5424 Mon Sep 17 00:00:00 2001 From: Omari Stephens Date: Fri, 7 Jul 2017 13:03:25 +0000 Subject: [PATCH] Hopefully make it not crash --- src/view_file/view_file_icon.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/view_file/view_file_icon.c b/src/view_file/view_file_icon.c index 3d397482..f9d38108 100644 --- a/src/view_file/view_file_icon.c +++ b/src/view_file/view_file_icon.c @@ -1859,9 +1859,9 @@ static gboolean vficon_refresh_real(ViewFile *vf, gboolean keep_position) gboolean ret = TRUE; GList *work, *new_work; FileData *focus_fd; - GList *new_filelist = NULL; FileData *first_selected = NULL; - GList *new_iconlist = NULL; // TODO(xsdg): figure out what this should be named. + GList *new_filelist = NULL; + GList *new_fd_list = NULL; focus_fd = VFICON(vf)->focus_fd; @@ -1882,7 +1882,7 @@ static gboolean vficon_refresh_real(ViewFile *vf, gboolean keep_position) VFICON(vf)->selection = NULL; } - /* check for same files from old_list */ + /* iterate old list and new list, looking for differences */ work = vf->list; new_work = new_filelist; while (work || new_work) @@ -1913,11 +1913,13 @@ static gboolean vficon_refresh_real(ViewFile *vf, gboolean keep_position) } else if (work) { + /* old item was deleted */ fd = work->data; match = -1; } - else /* new_work */ + else { + /* new item was added */ new_fd = new_work->data; match = 1; } @@ -1943,16 +1945,17 @@ static gboolean vficon_refresh_real(ViewFile *vf, gboolean keep_position) } else { - new_iconlist = g_list_prepend(new_iconlist, fd); /* it is faster to append all new entries together later */ + /* it is faster to append all new entries together later */ + new_fd_list = g_list_prepend(new_fd_list, new_fd); } new_work = new_work->next; } } - if (new_iconlist) + if (new_fd_list) { - vf->list = g_list_concat(vf->list, g_list_reverse(new_iconlist)); + vf->list = g_list_concat(vf->list, g_list_reverse(new_fd_list)); } VFICON(vf)->selection = g_list_reverse(VFICON(vf)->selection); -- 2.20.1