aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chrome/content/code/redirector.prototype.js7
-rw-r--r--chrome/content/code/settings.xul.js4
2 files changed, 9 insertions, 2 deletions
diff --git a/chrome/content/code/redirector.prototype.js b/chrome/content/code/redirector.prototype.js
index d5d78f9..bed05dc 100644
--- a/chrome/content/code/redirector.prototype.js
+++ b/chrome/content/code/redirector.prototype.js
@@ -18,7 +18,12 @@ Redirector.prototype = {
},
addRedirect : function(redirect) {
- this._list.push(redirect);
+ //This runaround is necessary because the redirect
+ //that was created somewhere up in the GUI doesn't
+ //have the Redirect function in scope.
+ var rx = new Redirect();
+ rx.copyValues(redirect);
+ this._list.push(rx);
this.save();
},
diff --git a/chrome/content/code/settings.xul.js b/chrome/content/code/settings.xul.js
index 4fa65a2..4ec306d 100644
--- a/chrome/content/code/settings.xul.js
+++ b/chrome/content/code/settings.xul.js
@@ -141,8 +141,10 @@ var Settings = {
var args = { saved : false, redirect : new Redirect() };
window.openDialog("chrome://redirector/content/ui/editRedirect.xul", "redirect", "chrome,dialog,modal,centerscreen", args);
if (args.saved) {
- this.addItemsToListBox([args.redirect]);
Redirector.addRedirect(args.redirect);
+ //Get it from redirector since it has processed it and it's no longer the same
+ //object as the one we added.
+ this.addItemsToListBox([Redirector.getRedirectAt(Redirector.redirectCount-1)]);
this.selectionChange();
}
},