diff options
author | Stefano Karapetsas <[email protected]> | 2013-09-22 15:01:18 +0200 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2013-09-22 15:01:18 +0200 |
commit | 38e0a2bd39c65001100f403dd2bd4162ffd824de (patch) | |
tree | 8b5272556d1107ea4d2e58e584eb0e7c4f6c1f0f | |
parent | 6278dcbcd50ce052fa2e7aa5a4b32d96713a2480 (diff) | |
download | caja-38e0a2bd39c65001100f403dd2bd4162ffd824de.tar.bz2 caja-38e0a2bd39c65001100f403dd2bd4162ffd824de.tar.xz |
Add check if mimetype is null before apply thumbnail frame
To avoid segfaults on file deletions
-rw-r--r-- | libcaja-private/caja-file.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libcaja-private/caja-file.c b/libcaja-private/caja-file.c index 85f8a9ce..fa00ac8c 100644 --- a/libcaja-private/caja-file.c +++ b/libcaja-private/caja-file.c @@ -4324,12 +4324,13 @@ caja_file_get_icon (CajaFile *file, /* Render frames only for thumbnails of non-image files and for images with no alpha channel. */ - gboolean is_image = strncmp(eel_ref_str_peek (file->details->mime_type), "image/", 6) == 0; - if (!is_image || - is_image && !gdk_pixbuf_get_has_alpha (raw_pixbuf)) { - caja_ui_frame_image (&scaled_pixbuf); - } - + gboolean is_image = file->details->mime_type && + (strncmp(eel_ref_str_peek (file->details->mime_type), "image/", 6) == 0); + if (!is_image || + is_image && !gdk_pixbuf_get_has_alpha (raw_pixbuf)) { + caja_ui_frame_image (&scaled_pixbuf); + } + g_object_unref (raw_pixbuf); /* Don't scale up if more than 25%, then read the original |