aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-cal-popup.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-cal-popup.c')
-rw-r--r--calendar/gui/e-cal-popup.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/calendar/gui/e-cal-popup.c b/calendar/gui/e-cal-popup.c
index 358fce90a1..94e488ec25 100644
--- a/calendar/gui/e-cal-popup.c
+++ b/calendar/gui/e-cal-popup.c
@@ -401,13 +401,14 @@ ecalp_standard_menu_factory (EPopup *ecalp, void *data)
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 (apps == NULL || strcmp(mime_type, "application/octet-stream") == 0) {
if (filename) {
gchar *name_type;
name_type = e_util_guess_mime_type (filename, FALSE);
cp = g_content_type_from_mime_type (name_type);
- apps = g_app_info_get_all_for_type (cp ? cp : name_type);
+ /* show alternative apps first */
+ apps = g_list_concat (g_app_info_get_all_for_type (cp ? cp : name_type), apps);
g_free (cp);
g_free (name_type);
}