Fix #1333 Peer list doesn't update automatically

This commit is contained in:
Damien Churchill 2011-05-06 23:24:00 +01:00
commit 1f3a7bf44c

View file

@ -32,7 +32,9 @@
(function() { (function() {
function flagRenderer(value) { function flagRenderer(value) {
if (!value) return ''; if (!value.replace(' ', '').replace(' ', '')){
return '';
}
return String.format('<img src="flag/{0}" />', value); return String.format('<img src="flag/{0}" />', value);
} }
function peerAddressRenderer(value, p, record) { function peerAddressRenderer(value, p, record) {
@ -125,6 +127,14 @@
// Go through the peers updating and creating peer records // Go through the peers updating and creating peer records
Ext.each(torrent.peers, function(peer) { Ext.each(torrent.peers, function(peer) {
if (this.peers[peer.ip]) { if (this.peers[peer.ip]) {
var record = store.getById(peer.ip);
record.beginEdit();
for (var k in peer) {
if (record.get(k) != peer[k]) {
record.set(k, peer[k]);
}
}
record.endEdit();
} else { } else {
this.peers[peer.ip] = 1; this.peers[peer.ip] = 1;
newPeers.push(new Deluge.data.Peer(peer, peer.ip)); newPeers.push(new Deluge.data.Peer(peer, peer.ip));