diff options
author | Jannis Pohlmann <jannis@xfce.org> | 2010-01-07 10:05:25 +0100 |
---|---|---|
committer | Jannis Pohlmann <jannis@xfce.org> | 2010-01-07 10:09:42 +0100 |
commit | e461ed713aee38e8e62fd66e0f8db71384a27eaf (patch) | |
tree | 9d0f3bb677c719f3e482a1e8b04a920cf66f9299 /tumbler | |
parent | 549c7b3bc44d2d67a94776bb49ce21a61d1aed28 (diff) | |
download | tumbler-e461ed713aee38e8e62fd66e0f8db71384a27eaf.tar.gz |
Report unsupported flavors back to clients via an error signal.
Thanks to Philip for the original commit.
Diffstat (limited to 'tumbler')
-rw-r--r-- | tumbler/tumbler-cache.c | 5 | ||||
-rw-r--r-- | tumbler/tumbler-error.h | 1 | ||||
-rw-r--r-- | tumbler/tumbler-file-info.c | 5 |
3 files changed, 8 insertions, 3 deletions
diff --git a/tumbler/tumbler-cache.c b/tumbler/tumbler-cache.c index a131a92..cc554dd 100644 --- a/tumbler/tumbler-cache.c +++ b/tumbler/tumbler-cache.c @@ -91,9 +91,12 @@ tumbler_cache_get_thumbnail (TumblerCache *cache, { g_return_val_if_fail (TUMBLER_IS_CACHE (cache), NULL); g_return_val_if_fail (uri != NULL && *uri != '\0', NULL); - g_return_val_if_fail (TUMBLER_IS_THUMBNAIL_FLAVOR (flavor), NULL); + g_return_val_if_fail (flavor == NULL || TUMBLER_IS_THUMBNAIL_FLAVOR (flavor), NULL); g_return_val_if_fail (TUMBLER_CACHE_GET_IFACE (cache)->get_thumbnail != NULL, NULL); + if (flavor == NULL) + return NULL; + return (TUMBLER_CACHE_GET_IFACE (cache)->get_thumbnail) (cache, uri, flavor); } diff --git a/tumbler/tumbler-error.h b/tumbler/tumbler-error.h index a8472ad..df2ec6b 100644 --- a/tumbler/tumbler-error.h +++ b/tumbler/tumbler-error.h @@ -45,6 +45,7 @@ typedef enum /*< enum >*/ TUMBLER_ERROR_INVALID_FORMAT, TUMBLER_ERROR_IS_THUMBNAIL, TUMBLER_ERROR_SAVE_FAILED, + TUMBLER_ERROR_UNSUPPORTED_FLAVOR, } TumblerErrorEnum; G_END_DECLS diff --git a/tumbler/tumbler-file-info.c b/tumbler/tumbler-file-info.c index 3ab47eb..c4f162d 100644 --- a/tumbler/tumbler-file-info.c +++ b/tumbler/tumbler-file-info.c @@ -145,7 +145,8 @@ tumbler_file_info_finalize (GObject *object) if (info->thumbnail != NULL) g_object_unref (info->thumbnail); - g_object_unref (info->flavor); + if (info->flavor != NULL) + g_object_unref (info->flavor); g_free (info->mime_type); g_free (info->uri); @@ -222,7 +223,7 @@ tumbler_file_info_new (const gchar *uri, { g_return_val_if_fail (uri != NULL && *uri != '\0', NULL); g_return_val_if_fail (mime_type != NULL && *mime_type != '\0', NULL); - g_return_val_if_fail (TUMBLER_IS_THUMBNAIL_FLAVOR (flavor), NULL); + g_return_val_if_fail (flavor == NULL || TUMBLER_IS_THUMBNAIL_FLAVOR (flavor), NULL); return g_object_new (TUMBLER_TYPE_FILE_INFO, "uri", uri, "mime-type", mime_type, "flavor", flavor, NULL); |