summaryrefslogtreecommitdiff
path: root/libgnome-desktop/gnome-desktop-thumbnail.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgnome-desktop/gnome-desktop-thumbnail.c')
-rw-r--r--libgnome-desktop/gnome-desktop-thumbnail.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libgnome-desktop/gnome-desktop-thumbnail.c b/libgnome-desktop/gnome-desktop-thumbnail.c
index 6c31a976..68294ddc 100644
--- a/libgnome-desktop/gnome-desktop-thumbnail.c
+++ b/libgnome-desktop/gnome-desktop-thumbnail.c
@@ -440,14 +440,18 @@ _gdk_pixbuf_new_from_uri_at_scale (const char *uri,
}
}
- if (gdk_pixbuf_loader_close (loader, &error) == FALSE) {
+ if (loader == NULL) {
+ /* This can happen if the above loop was exited due to the
+ * g_input_stream_read() call failing. */
+ result = FALSE;
+ } else if (gdk_pixbuf_loader_close (loader, &error) == FALSE) {
g_warning ("Error creating thumbnail for %s: %s", uri, error->message);
g_clear_error (&error);
result = FALSE;
}
if (!result) {
- g_object_unref (G_OBJECT (loader));
+ g_clear_object (&loader);
g_input_stream_close (input_stream, NULL, NULL);
g_object_unref (input_stream);
g_object_unref (file);