Mercurial > geeqie.yaz
diff src/view_file_icon.c @ 1506:d352a44545a6
Force thumbnails refreshing when thumbnails dimensions are modified through Preferences.
author | zas_ |
---|---|
date | Thu, 02 Apr 2009 23:11:07 +0000 |
parents | 331e2d60d447 |
children | 2c25cb0eca57 |
line wrap: on
line diff
--- a/src/view_file_icon.c Thu Apr 02 16:10:12 2009 +0000 +++ b/src/view_file_icon.c Thu Apr 02 23:11:07 2009 +0000 @@ -154,7 +154,6 @@ static void vficon_selection_remove(ViewFile *vf, IconData *id, SelectionType mask, GtkTreeIter *iter); static void vficon_move_focus(ViewFile *vf, gint row, gint col, gboolean relative); static void vficon_set_focus(ViewFile *vf, IconData *id); -static void vficon_thumb_update(ViewFile *vf); static void vficon_populate_at_new_size(ViewFile *vf, gint w, gint h, gboolean force); @@ -2030,12 +2029,30 @@ return FALSE; } -static void vficon_thumb_update(ViewFile *vf) +void vficon_thumb_update(ViewFile *vf) { vficon_thumb_stop(vf); vficon_thumb_status(vf, 0.0, _("Loading thumbs...")); vf->thumbs_running = TRUE; + + if (thumb_format_changed) + { + GList *work = vf->list; + while (work) + { + IconData *id = work->data; + FileData *fd = id->fd; + if (fd->thumb_pixbuf) + { + g_object_unref(fd->thumb_pixbuf); + fd->thumb_pixbuf = NULL; + } + work = work->next; + } + + thumb_format_changed = FALSE; + } while (vficon_thumb_next(vf)); }