diff --git a/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp b/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp index 0bbc8cbf8b4..4958159928f 100644 --- a/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp +++ b/mozilla/widget/src/xpwidgets/nsBaseWidget.cpp @@ -975,21 +975,20 @@ nsBaseWidget::ResolveIconName(const nsAString &aIconName, nsCOMPtr dirs; dirSvc->Get(NS_APP_CHROME_DIR_LIST, NS_GET_IID(nsISimpleEnumerator), getter_AddRefs(dirs)); - if (!dirs) - return; - - PRBool hasMore; - while (NS_SUCCEEDED(dirs->HasMoreElements(&hasMore)) && hasMore) { - nsCOMPtr element; - dirs->GetNext(getter_AddRefs(element)); - if (!element) - continue; - nsCOMPtr file = do_QueryInterface(element); - if (!file) - continue; - if (ResolveIconNameHelper(file, aIconName, aIconSuffix)) { - NS_ADDREF(*aResult = file); - return; + if (dirs) { + PRBool hasMore; + while (NS_SUCCEEDED(dirs->HasMoreElements(&hasMore)) && hasMore) { + nsCOMPtr element; + dirs->GetNext(getter_AddRefs(element)); + if (!element) + continue; + nsCOMPtr file = do_QueryInterface(element); + if (!file) + continue; + if (ResolveIconNameHelper(file, aIconName, aIconSuffix)) { + NS_ADDREF(*aResult = file); + return; + } } } @@ -998,9 +997,7 @@ nsBaseWidget::ResolveIconName(const nsAString &aIconName, nsCOMPtr file; dirSvc->Get(NS_APP_CHROME_DIR, NS_GET_IID(nsILocalFile), getter_AddRefs(file)); - if (!file) - return; - if (ResolveIconNameHelper(file, aIconName, aIconSuffix)) + if (file && ResolveIconNameHelper(file, aIconName, aIconSuffix)) NS_ADDREF(*aResult = file); }