diff --git a/src/slideshow.c b/src/slideshow.c index b57d5c59c708e519afd9c54e15e77fdc6e11e112..4a71dc3b7bec27c2e1160ab72f7238ee90057eaa 100644 --- a/src/slideshow.c +++ b/src/slideshow.c @@ -686,6 +686,7 @@ void feh_filelist_image_remove(winwidget winwid, char do_delete) filelist = feh_file_rm_and_free(filelist, winwid->file); else filelist = feh_file_remove_from_list(filelist, winwid->file); + winwid->file = NULL; winwidget_destroy(winwid); } } diff --git a/src/winwidget.c b/src/winwidget.c index dae7bc9f138ceb91854ad6b481ece5b7ce99d78d..707b0602ab485d580a02e9c3957d966ca28ce10e 100644 --- a/src/winwidget.c +++ b/src/winwidget.c @@ -755,6 +755,8 @@ void winwidget_destroy(winwidget winwid) free(winwid->name); if (winwid->gc) XFreeGC(disp, winwid->gc); + if ((winwid->type == WIN_TYPE_THUMBNAIL_VIEWER) && (winwid->file != NULL)) + gib_list_free(winwid->file); if (winwid->im) gib_imlib_free_image_and_decache(winwid->im); free(winwid);