From dbcd1c942f962771eff43077e3330bed5be8db9c Mon Sep 17 00:00:00 2001 From: Daniel Lee Date: Fri, 18 Jun 2010 13:53:54 +0000 Subject: [PATCH] (web) Improve upon r10773 fix for #3296 --- web/javascript/torrent.js | 3 ++- web/javascript/transmission.js | 13 +++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/web/javascript/torrent.js b/web/javascript/torrent.js index 6359c91e2..5521fe77b 100644 --- a/web/javascript/torrent.js +++ b/web/javascript/torrent.js @@ -88,8 +88,9 @@ Torrent.prototype = top_e.id = 'torrent_' + data.id; top_e._torrent = this; var element = $(top_e); - $(element).bind('dblclick', function(e) { transmission.toggleInspector(); }); + $(element).bind('dblclick', function(e) { transmission.toggleInspector(); }); element._torrent = this; + element._id = this._id; this._element = element; this._controller = controller; controller._rows.push( element ); diff --git a/web/javascript/transmission.js b/web/javascript/transmission.js index d0fb534d4..927420bd2 100644 --- a/web/javascript/transmission.js +++ b/web/javascript/transmission.js @@ -1606,10 +1606,15 @@ Transmission.prototype = removedAny = true; var e = torrent.element(); if( e ) { - var row_index = tr.getTorrentIndex(tr._rows, torrent); - //if torrent is not currently visible then delete a hidden row - //otherwise the row model gets corrupted because no row gets deleted - if( row_index == null ) row_index = tr._rows.length - 1; + var row_index; + for( var i=0, row; row = tr._rows[i]; ++i ) { + if( row._id == torrent._id ) + { + row_index = i; + e = tr._rows[row_index]; + break; + } + } delete e._torrent; //remove circular refernce to help IE garbage collect tr._rows.splice(row_index, 1) e.remove();