From f6bcaad44b8f8223bec3b80a0ca647db6bbd950d Mon Sep 17 00:00:00 2001 From: Jordan Lee Date: Tue, 30 Aug 2011 04:27:09 +0000 Subject: [PATCH] (trunk web) #4452 "'Remove from List' doesn't update unless you manually refresh the page" -- fixed. --- web/javascript/transmission.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/web/javascript/transmission.js b/web/javascript/transmission.js index 612264324..d4a9559fc 100644 --- a/web/javascript/transmission.js +++ b/web/javascript/transmission.js @@ -1152,8 +1152,10 @@ Transmission.prototype = { if (ids && ids.length) { - for (var i=0, id; id=ids[i]; ++i) + for (var i=0, id; id=ids[i]; ++i) { + this.dirtyTorrents[id] = true; delete this._torrents[id]; + } this.refilter(); } }, @@ -1994,10 +1996,11 @@ Transmission.prototype = // drop any dirty rows that don't pass the filter test tmp = []; for (i=0; row=dirty_rows[i]; ++i) { - t = row.getTorrent(); - if (t.test(filter_mode, filter_text, filter_tracker)) + id = row.getTorrentId(); + t = this._torrents[ id ]; + if (t && t.test(filter_mode, filter_text, filter_tracker)) tmp.push(row); - delete this.dirtyTorrents[t.getId()]; + delete this.dirtyTorrents[id]; } dirty_rows = tmp; @@ -2005,7 +2008,7 @@ Transmission.prototype = // but don't already have a row for (id in this.dirtyTorrents) { t = this._torrents[id]; - if (t.test(filter_mode, filter_text, filter_tracker)) { + if (t && t.test(filter_mode, filter_text, filter_tracker)) { var s = t.getId() in sel; row = new TorrentRow(renderer, this, t, s); row.getElement().row = row;