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));
 }