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,