2008-10-10 Matthias Clasen <mclasen@redhat.com>
+ Bug 555711 – Wrong fallback order of mimetype icons
+
+ * gcontenttype.c: Don't prefer generic icons over
+ default mimetype icons.
+
+ * xdgmime/xdgmimecache.c (xdg_mime_cache_get_icon):
+ * xdgmime/xdgmime.c (xdg_mime_get_icon): Don't fall back
+ to generic icons.
+ Patch by Krysztof Kosiński
+
+2008-10-10 Matthias Clasen <mclasen@redhat.com>
+
Bug 555121 – Improved build-time handling of gio module-dir
* fam/Makefile.am: Use GIO_MODULE_DIR consistently.
{
char *mimetype_icon, *generic_mimetype_icon, *q;
char *xdg_mimetype_icon, *legacy_mimetype_icon;
+ char *xdg_mimetype_generic_icon;
char *icon_names[4];
int n = 0;
const char *p;
G_LOCK (gio_xdgmime);
xdg_mimetype_icon = g_strdup (xdg_mime_get_icon (type));
+ xdg_mimetype_generic_icon = g_strdup (xdg_mime_get_generic_icon (type));
G_UNLOCK (gio_xdgmime);
mimetype_icon = g_strdup (type);
icon_names[n++] = mimetype_icon;
icon_names[n++] = legacy_mimetype_icon;
+
+ if (xdg_mimetype_generic_icon)
+ icon_names[n++] = xdg_mimetype_generic_icon;
+
icon_names[n++] = generic_mimetype_icon;
themed_icon = g_themed_icon_new_from_names (icon_names, n);
if (_caches)
return _xdg_mime_cache_get_icon (mime);
- icon = _xdg_mime_icon_list_lookup (icon_list, mime);
-
- if (!icon)
- icon = xdg_mime_get_generic_icon (mime);
-
- return icon;
+ return _xdg_mime_icon_list_lookup (icon_list, mime);
}
const char *
const char *
_xdg_mime_cache_get_icon (const char *mime)
{
- const char *icon;
-
- icon = cache_lookup_icon (mime, 32);
-
- if (icon == NULL)
- icon = _xdg_mime_cache_get_generic_icon (mime);
-
- return icon;
+ return cache_lookup_icon (mime, 32);
}
static void