aboutsummaryrefslogtreecommitdiff
path: root/meta-linaro-integration/recipes-overlayed/firefox/firefox/fixes/Bug-515232-Try-getting-general.useragent.locale-as-a.patch
diff options
context:
space:
mode:
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.patch41
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;