Dominique Leuenberger
8e5bffa560
OBS-URL: https://build.opensuse.org/request/show/62181 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/glib2?expand=0&rev=138
46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
commit 862c5a86d7ac24e1607749fe7c3ce772727c2691
|
|
Author: Vincent Untz <vuntz@gnome.org>
|
|
Date: Sun Feb 20 10:41:17 2011 +0100
|
|
|
|
appinfo: Do not override system default handler with less specific one
|
|
|
|
We were considering explicitly configured defaults for parent types
|
|
after we already got results for the specific type we're interested in.
|
|
|
|
This resulted in the explicit default for text/plain to override all
|
|
system defaults for subtypes of text/plain, for example. The explicit
|
|
default should not apply to subtypes that have a system default.
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=642797
|
|
|
|
diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c
|
|
index 61ef54c..f81d3db 100644
|
|
--- a/gio/gdesktopappinfo.c
|
|
+++ b/gio/gdesktopappinfo.c
|
|
@@ -3059,14 +3059,18 @@ get_all_desktop_entries_for_mime_type (const char *base_mime_type,
|
|
{
|
|
dir = dir_list->data;
|
|
|
|
- /* Pick the explicit default application */
|
|
- entry = g_hash_table_lookup (dir->mimeapps_list_defaults_map, mime_type);
|
|
-
|
|
- if (entry != NULL)
|
|
+ /* Pick the explicit default application if we got no result earlier
|
|
+ * (ie, for more specific mime types) */
|
|
+ if (desktop_entries == NULL)
|
|
{
|
|
- /* Save the default entry if it's the first one we encounter */
|
|
- if (default_entry == NULL)
|
|
- default_entry = g_strdup (entry);
|
|
+ entry = g_hash_table_lookup (dir->mimeapps_list_defaults_map, mime_type);
|
|
+
|
|
+ if (entry != NULL)
|
|
+ {
|
|
+ /* Save the default entry if it's the first one we encounter */
|
|
+ if (default_entry == NULL)
|
|
+ default_entry = g_strdup (entry);
|
|
+ }
|
|
}
|
|
|
|
/* Then added associations from mimeapps.list */
|