diff options
-rw-r--r-- | chrome/content/code/redirector.prototype.js | 7 | ||||
-rw-r--r-- | chrome/content/code/settings.xul.js | 4 |
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();
}
},
|