From 5e4b8f785dccfb65a8bb5bac949a29e0bd624780 Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Tue, 21 Feb 2012 05:59:38 +0000 Subject: [PATCH] add missing state update calls when queue position changes --- src/torrent.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/torrent.cpp b/src/torrent.cpp index 686c15158..6c7e7be3d 100644 --- a/src/torrent.cpp +++ b/src/torrent.cpp @@ -6411,7 +6411,11 @@ namespace libtorrent { torrent* t = i->second.get(); if (t->m_sequence_number > max_seq) max_seq = t->m_sequence_number; - if (t->m_sequence_number >= p) ++t->m_sequence_number; + if (t->m_sequence_number >= p) + { + ++t->m_sequence_number; + t->state_updated(); + } } m_sequence_number = (std::min)(max_seq + 1, p); } @@ -6424,7 +6428,10 @@ namespace libtorrent if (t == this) continue; if (t->m_sequence_number >= m_sequence_number && t->m_sequence_number != -1) + { --t->m_sequence_number; + t->state_updated(); + } } m_sequence_number = p; } @@ -6438,7 +6445,10 @@ namespace libtorrent if (t->m_sequence_number >= p && t->m_sequence_number < m_sequence_number && t->m_sequence_number != -1) + { ++t->m_sequence_number; + t->state_updated(); + } } m_sequence_number = p; } @@ -6456,7 +6466,10 @@ namespace libtorrent if (pos <= p && pos > m_sequence_number && pos != -1) + { --t->m_sequence_number; + t->state_updated(); + } } m_sequence_number = (std::min)(max_seq, p);