@@ -0,0 +1,47 @@
+Index: uriloader/exthandler/unix/nsOSHelperAppService.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp,v
+retrieving revision 1.58
+diff -d -u -p -r1.58 nsOSHelperAppService.cpp
+--- uriloader/exthandler/unix/nsOSHelperAppService.cpp 25 Oct 2004 07:46:01 -0000 1.58
++++ uriloader/exthandler/unix/nsOSHelperAppService.cpp 21 Jul 2005 03:07:40 -0000
+@@ -1486,6 +1487,17 @@ nsOSHelperAppService::GetFromType(const
+
+ LOG(("Here we do a mimetype lookup for '%s'\n", aMIMEType.get()));
+
++#ifdef MOZ_WIDGET_GTK2
++ // Look in GNOME registry first since it is the preferred method in GNOME,
++ // should trump the mailcap entry
++ LOG(("Looking in GNOME registry\n"));
++ nsMIMEInfoBase *gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType.get()).get();
++ if (gnomeInfo) {
++ LOG(("Got MIMEInfo from GNOME registry\n"));
++ return gnomeInfo;
++ }
++#endif
++
+ // extract the major and minor types
+ NS_ConvertASCIItoUTF16 mimeType(aMIMEType);
+ nsAString::const_iterator start_iter, end_iter,
+@@ -1522,21 +1534,6 @@ nsOSHelperAppService::GetFromType(const
+ mozillaFlags,
+ PR_TRUE);
+
+-
+- if (handler.IsEmpty() && extensions.IsEmpty() &&
+- mailcap_description.IsEmpty() && mime_types_description.IsEmpty()) {
+- // No useful data yet
+-
+-#ifdef MOZ_WIDGET_GTK2
+- LOG(("Looking in GNOME registry\n"));
+- nsMIMEInfoBase *gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType.get()).get();
+- if (gnomeInfo) {
+- LOG(("Got MIMEInfo from GNOME registry\n"));
+- return gnomeInfo;
+- }
+-#endif
+- }
+-
+ if (handler.IsEmpty() && mailcap_description.IsEmpty()) {
+ DoLookUpHandlerAndDescription(majorType,
+ minorType,
|