# HG changeset patch # User nadvornik # Date 1251034635 0 # Node ID 46284779a897848019862101cb2b53362b5d33be # Parent 808d4308ca0042f1d69e6566668ae355554327d3 fixed moving and maintenance of std. thumbnails https://sourceforge.net/tracker/?func=detail&aid=2836224&group_id=222125&atid=1054680 diff -r 808d4308ca00 -r 46284779a897 src/thumb_standard.c --- 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);