summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Antonio Marin <[email protected]>2014-05-05 08:50:28 +0200
committerraveit65 <[email protected]>2020-01-09 00:06:04 +0100
commit63ca113518dfa6891de0c3196b824792ce9f8a2e (patch)
treeebfaeed2e99a4b2a6e79a8839efd32e3ba655a43
parent56a544fb594bc80e0991717d97f11c784e386819 (diff)
downloadmate-desktop-63ca113518dfa6891de0c3196b824792ce9f8a2e.tar.bz2
mate-desktop-63ca113518dfa6891de0c3196b824792ce9f8a2e.tar.xz
thumbnailer: Try harder to create a failed thumbnail
If a failed thumbnail is created because the pixbuf fail to save (for instance if user is over quota) we should still try to rename the temporary file that might have been created. If not, the thumbnail will not be marked as failed, and thumbnailing will be reattempted. https://bugzilla.gnome.org/show_bug.cgi?id=728775 origin commit: https://gitlab.gnome.org/GNOME/gnome-desktop/commit/54f68ab
-rw-r--r--libmate-desktop/mate-desktop-thumbnail.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/libmate-desktop/mate-desktop-thumbnail.c b/libmate-desktop/mate-desktop-thumbnail.c
index 2e2f29d..945bc91 100644
--- a/libmate-desktop/mate-desktop-thumbnail.c
+++ b/libmate-desktop/mate-desktop-thumbnail.c
@@ -1568,7 +1568,6 @@ mate_desktop_thumbnail_factory_create_failed_thumbnail (MateDesktopThumbnailFact
char *tmp_path;
int tmp_fd;
gchar *mtime_str;
- gboolean saved_ok;
GdkPixbuf *pixbuf;
GChecksum *checksum;
guint8 digest[16];
@@ -1612,20 +1611,17 @@ mate_desktop_thumbnail_factory_create_failed_thumbnail (MateDesktopThumbnailFact
mtime_str = g_strdup_printf ("%" G_GINT64_FORMAT, (gint64)mtime);
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, 1, 1);
- saved_ok = gdk_pixbuf_save (pixbuf,
- tmp_path,
- "png", NULL,
- "tEXt::Thumb::URI", uri,
- "tEXt::Thumb::MTime", mtime_str,
- "tEXt::Software", "MATE::ThumbnailFactory",
- NULL);
+ gdk_pixbuf_save (pixbuf,
+ tmp_path,
+ "png", NULL,
+ "tEXt::Thumb::URI", uri,
+ "tEXt::Thumb::MTime", mtime_str,
+ "tEXt::Software", "MATE::ThumbnailFactory",
+ NULL);
g_object_unref (pixbuf);
g_free (mtime_str);
- if (saved_ok)
- {
- g_chmod (tmp_path, 0600);
- g_rename(tmp_path, path);
- }
+ g_chmod (tmp_path, 0600);
+ g_rename (tmp_path, path);
g_free (path);
g_free (tmp_path);