From f0ff9bf2a123077fc83208a6dbe73574dffa5163 Mon Sep 17 00:00:00 2001 From: anekos Date: Wed, 18 Feb 2009 00:11:16 +0900 Subject: Fix: set! foo="multibyte string" was broken. --- common/content/options.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'common/content/options.js') diff --git a/common/content/options.js b/common/content/options.js index f997a697..7c1df76f 100644 --- a/common/content/options.js +++ b/common/content/options.js @@ -335,7 +335,11 @@ function Options() //{{{ { case "string": if (type == Ci.nsIPrefBranch.PREF_INVALID || type == Ci.nsIPrefBranch.PREF_STRING) - services.get("pref").setCharPref(name, value); + { + let supportString = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString); + supportString.data = value; + services.get("pref").setComplexValue(name, Ci.nsISupportsString, supportString); + } else if (type == Ci.nsIPrefBranch.PREF_INT) liberator.echoerr("E521: Number required after =: " + name + "=" + value); else @@ -375,6 +379,7 @@ function Options() //{{{ case Ci.nsIPrefBranch.PREF_STRING: let value = branch.getComplexValue(name, Ci.nsISupportsString).data; // try in case it's a localized string (will throw an exception if not) + // if (!services.get("pref").prefIsLocked(name) && !services.get("pref").prefHasUserValue(name) && RegExp("chrome://.+/locale/.+\\.properties").test(value)) value = branch.getComplexValue(name, Ci.nsIPrefLocalizedString).data; -- cgit v1.2.3