From a4e5ac87c1dfc0568ab68bd7c2b9b0175b4dddfa Mon Sep 17 00:00:00 2001 From: "bzbarsky%mit.edu" Date: Tue, 27 Nov 2001 21:24:32 +0000 Subject: [PATCH] Don't return a mime info based on mime type if we didn't get a helper to use. Bug 109897, r=cbiesinger@web.de, sr=rpotts git-svn-id: svn://10.0.0.236/trunk@109025 18797224-902f-48f8-a5cc-f745e15eee43 --- .../exthandler/unix/nsOSHelperAppService.cpp | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp index 2850f4e3fb0..e8e5990a7f9 100644 --- a/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp +++ b/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp @@ -1247,25 +1247,25 @@ NS_IMETHODIMP nsOSHelperAppService::GetFromMIMEType(const char *aMIMEType, nsDependentSubstring majorType(majorTypeStart, majorTypeEnd); nsDependentSubstring minorType(minorTypeStart, minorTypeEnd); - LookUpExtensionsAndDescription(majorType, - minorType, - extensions, - mime_types_description); LookUpHandlerAndDescription(majorType, minorType, typeOptions, handler, mailcap_description, mozillaFlags); - mailcap_description.Trim(" \t\""); - mozillaFlags.Trim(" \t"); - - if (extensions.IsEmpty() && mime_types_description.IsEmpty() && - handler.IsEmpty() && mailcap_description.IsEmpty()) { + + if (handler.IsEmpty()) { // we have no useful info.... return NS_ERROR_FAILURE; } + mailcap_description.Trim(" \t\""); + mozillaFlags.Trim(" \t"); + LookUpExtensionsAndDescription(majorType, + minorType, + extensions, + mime_types_description); + nsCOMPtr mimeInfo(do_CreateInstance(NS_MIMEINFO_CONTRACTID, &rv)); if (NS_FAILED(rv)) @@ -1281,9 +1281,8 @@ NS_IMETHODIMP nsOSHelperAppService::GetFromMIMEType(const char *aMIMEType, rv = NS_ERROR_FAILURE; nsCOMPtr handlerFile; - if (! handler.IsEmpty()) { - rv = GetFileTokenForPath(handler.get(), getter_AddRefs(handlerFile)); - } + rv = GetFileTokenForPath(handler.get(), getter_AddRefs(handlerFile)); + if (NS_SUCCEEDED(rv)) { mimeInfo->SetPreferredApplicationHandler(handlerFile); mimeInfo->SetPreferredAction(nsIMIMEInfo::useHelperApp);