Mercurial > geeqie
changeset 1721:46284779a897
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 | 808d4308ca00 |
children | 86814baa74e6 |
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);