From a77582e3dd9b2d1be28eeda6a197e80d68267a53 Mon Sep 17 00:00:00 2001 From: Einar Egilsson Date: Mon, 21 Dec 2009 21:40:09 +0000 Subject: Fixed bug where newly added redirects couldn't be edited the next time the Settings window was opened within the same session. git-svn-id: http://einaregilsson.googlecode.com/svn/mozilla/redirector/trunk@345 119bf307-c92d-0410-89bd-8f53e6181181 --- chrome/content/code/redirector.prototype.js | 7 ++++++- 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(); } }, -- cgit v1.2.3-70-g09d2