changeset 1703:7c4a87f98cc9

fixed moving and maintenance of std. thumbnails https://sourceforge.net/tracker/?func=detail&aid=2836224&group_id=222125&atid=1054680
author nadvornik
date Sun, 23 Aug 2009 13:37:15 +0000
parents 9efd43f52b5b
children 566abe50976d
files src/thumb_standard.c
diffstat 1 files changed, 10 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/thumb_standard.c	Sat Aug 22 21:58:49 2009 +0000
+++ b/src/thumb_standard.c	Sun Aug 23 13:37:15 2009 +0000
@@ -778,8 +778,9 @@
 	GdkPixbuf *pixbuf;
 	gboolean valid = FALSE;
 
-	/* this function is called on success, so the pixbuf should not be a fallback*/
-	pixbuf = thumb_loader_std_get_pixbuf(tv->tl);
+	/* get the original thumbnail pixbuf (unrotated, with original options) 
+	   this is called from image_loader done callback, so tv->tl->il must exist*/
+	pixbuf = image_loader_get_pixbuf(tv->tl->il); 
 	if (pixbuf)
 		{
 		const gchar *uri;
@@ -820,8 +821,10 @@
 					}
 				}
 			}
-
-		g_object_unref(pixbuf);
+		else
+			{
+			DEBUG_1("invalid image found in std cache: %s", tv->path);
+			}
 		}
 
 	thumb_loader_std_thumb_file_validate_finish(tv, valid);
@@ -940,8 +943,9 @@
 	TMaintMove *tm = data;
 	GdkPixbuf *pixbuf;
 
-	/* this function is called on success, so the pixbuf should not be a fallback*/
-	pixbuf = thumb_loader_std_get_pixbuf(tm->tl);
+	/* get the original thumbnail pixbuf (unrotated, with original options) 
+	   this is called from image_loader done callback, so tm->tl->il must exist*/
+	pixbuf = image_loader_get_pixbuf(tm->tl->il); 
 	if (pixbuf)
 		{
 		const gchar *uri;
@@ -984,7 +988,6 @@
 
 		DEBUG_1("thumb move unlink: %s", tm->thumb_path);
 		unlink_file(tm->thumb_path);
-		g_object_unref(pixbuf);
 		}
 
 	thumb_std_maint_move_step(tm);