---- ./src/slideshow.c.org 2011-09-02 12:55:22.245365638 +0200
-+++ ./src/slideshow.c 2011-09-02 12:55:29.089016324 +0200
-@@ -96,6 +96,11 @@ void cb_reload_timer(void *data)
-
- /* save the current filename for refinding it in new list */
- current_filename = estrdup(FEH_FILE(current_file->data)->filename);
-+
-+ for (l = filelist; l; l = l->next) {
-+ feh_file_free(l->data);
-+ l->data = NULL;
-+ }
- gib_list_free_and_data(filelist);
- filelist = NULL;
- filelist_len = 0;
-@@ -109,8 +114,7 @@ void cb_reload_timer(void *data)
- add_file_to_filelist_recursively(".", FILELIST_FIRST);
-
- if (!(filelist_len = gib_list_length(filelist))) {
-- fprintf(stderr, "No files found to reload.\n");
-- exit(1);
-+ eprintf("No files found to reload.");
- }
-
- /* find the previously current file */
-@@ -149,6 +153,7 @@ void feh_reload_image(winwidget w, int r
-
- if (!w->file) {
- im_weprintf(w, "couldn't reload, this image has no file associated with it.");
-+ winwidget_render_image(w, 0, 0);
- return;
- }
-
-@@ -166,20 +171,17 @@ void feh_reload_image(winwidget w, int r
- old_w = gib_imlib_image_get_width(w->im);
- old_h = gib_imlib_image_get_height(w->im);
-
-- /* force imlib2 not to cache */
-- winwidget_free_image(w);
--
- /* if the image has changed in dimensions - we gotta resize */
- if ((feh_load_image(&tmp, FEH_FILE(w->file->data))) == 0) {
- if (force_new) {
- eprintf("failed to reload image\n");
- } else {
- im_weprintf(w, "Couldn't reload image. Is it still there?");
-+ winwidget_render_image(w, 0, 0);
- }
- winwidget_rename(w, title);
- free(title);
- free(new_title);
-- filelist = feh_file_remove_from_list(filelist, w->file);
- return;
- }
-
-@@ -187,6 +189,9 @@ void feh_reload_image(winwidget w, int r
- (old_h != gib_imlib_image_get_height(tmp))))
- resize = 1;
-
-+ /* force imlib2 not to cache */
-+ winwidget_free_image(w);
-+
- w->im = tmp;
- winwidget_reset_image(w);
-