aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-popup.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/em-popup.c')
-rw-r--r--mail/em-popup.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/mail/em-popup.c b/mail/em-popup.c
index 799e77e98a..b05e7753c3 100644
--- a/mail/em-popup.c
+++ b/mail/em-popup.c
@@ -799,17 +799,18 @@ emp_standard_menu_factory(EPopup *emp, void *data)
for (cp = mime_type; *cp != '\0'; cp++)
*cp = g_ascii_tolower (*cp);
- /* TODO: g_app_info_get_all_for_type expects content_type, not a mime_type, thus it will work fine
- on Linux/Unix systems, but not on Win32. They will add hopefully some function to convert between
- these two soon. */
- apps = g_app_info_get_all_for_type (mime_type);
+ cp = g_content_type_from_mime_type (mime_type);
+ apps = g_app_info_get_all_for_type (cp ? cp : mime_type);
+ g_free (cp);
if (apps == NULL && strcmp (mime_type, "application/octet-stream") == 0) {
if (filename != NULL) {
gchar *name_type;
name_type = e_util_guess_mime_type (filename);
- apps = g_app_info_get_all_for_type (name_type);
+ cp = g_content_type_from_mime_type (name_type);
+ apps = g_app_info_get_all_for_type (cp ? cp : name_type);
+ g_free (cp);
g_free (name_type);
}
}