diff options
Diffstat (limited to 'rb244676.patch')
-rw-r--r-- | rb244676.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/rb244676.patch b/rb244676.patch new file mode 100644 index 0000000..8141e1d --- /dev/null +++ b/rb244676.patch @@ -0,0 +1,27 @@ +diff --git a/toolkit/system/gnome/nsGIOService.cpp b/toolkit/system/gnome/nsGIOService.cpp +--- a/toolkit/system/gnome/nsGIOService.cpp ++++ b/toolkit/system/gnome/nsGIOService.cpp +@@ -521,16 +521,22 @@ nsGIOService::GetAppForMimeType(const ns + return NS_OK; + } + + char *content_type = + g_content_type_from_mime_type(PromiseFlatCString(aMimeType).get()); + if (!content_type) + return NS_ERROR_FAILURE; + ++ // GIO returns "unknown" appinfo for the application/octet-stream, which is ++ // useless. It's better to fallback to create appinfo from file extension later. ++ if (g_content_type_is_unknown(content_type)) { ++ return NS_ERROR_NOT_AVAILABLE; ++ } ++ + GAppInfo *app_info = g_app_info_get_default_for_type(content_type, false); + if (app_info) { + nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info); + NS_ENSURE_TRUE(mozApp, NS_ERROR_OUT_OF_MEMORY); + NS_ADDREF(*aApp = mozApp); + } else { + g_free(content_type); + return NS_ERROR_FAILURE; + |