diff options
Diffstat (limited to 'meta-linaro-integration/recipes-overlayed/firefox/firefox/fixes/Bug-515232-Try-getting-general.useragent.locale-as-a.patch')
-rw-r--r-- | meta-linaro-integration/recipes-overlayed/firefox/firefox/fixes/Bug-515232-Try-getting-general.useragent.locale-as-a.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/meta-linaro-integration/recipes-overlayed/firefox/firefox/fixes/Bug-515232-Try-getting-general.useragent.locale-as-a.patch b/meta-linaro-integration/recipes-overlayed/firefox/firefox/fixes/Bug-515232-Try-getting-general.useragent.locale-as-a.patch new file mode 100644 index 00000000..87cf8940 --- /dev/null +++ b/meta-linaro-integration/recipes-overlayed/firefox/firefox/fixes/Bug-515232-Try-getting-general.useragent.locale-as-a.patch @@ -0,0 +1,41 @@ +From: Mike Hommey <mh@glandium.org> +Date: Sun, 26 Feb 2012 09:20:44 +0100 +Subject: Bug 515232 - Try getting general.useragent.locale as a complex value + first in DirectoryProvider.cpp + +--- + browser/components/dirprovider/DirectoryProvider.cpp | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/browser/components/dirprovider/DirectoryProvider.cpp b/browser/components/dirprovider/DirectoryProvider.cpp +index 1373adc..5df1419 100644 +--- a/browser/components/dirprovider/DirectoryProvider.cpp ++++ b/browser/components/dirprovider/DirectoryProvider.cpp +@@ -56,6 +56,7 @@ + #include "nsServiceManagerUtils.h" + #include "nsStringAPI.h" + #include "nsXULAppAPI.h" ++#include "nsIPrefLocalizedString.h" + + namespace mozilla { + namespace browser { +@@ -200,7 +201,18 @@ AppendDistroSearchDirs(nsIProperties* aDirSvc, nsCOMArray<nsIFile> &array) + localePlugins->AppendNative(NS_LITERAL_CSTRING("locale")); + + nsCString locale; +- rv = prefs->GetCharPref("general.useragent.locale", getter_Copies(locale)); ++ nsCOMPtr<nsIPrefLocalizedString> prefString; ++ rv = prefs->GetComplexValue("general.useragent.locale", ++ NS_GET_IID(nsIPrefLocalizedString), ++ getter_AddRefs(prefString)); ++ if (NS_SUCCEEDED(rv)) { ++ nsAutoString wLocale; ++ prefString->GetData(getter_Copies(wLocale)); ++ CopyUTF16toUTF8(wLocale, locale); ++ } else { ++ rv = prefs->GetCharPref("general.useragent.locale", getter_Copies(locale)); ++ } ++ + if (NS_SUCCEEDED(rv)) { + + nsCOMPtr<nsIFile> curLocalePlugins; |