fixed bug appearing when changing the sequenced download threshold on a torrent which already had some pieced downloaded.

This commit is contained in:
Arvid Norberg 2006-09-01 09:36:43 +00:00
parent bdf1bbc8f4
commit 5ae55c5738
2 changed files with 11 additions and 5 deletions

View File

@ -1,7 +1,11 @@
* fixed bug with file_progress() with files > 2 GB * changed the address type to support IPv6
* added --enable-examples option to configure script * fixed in piece picker which would assert when changing
sequenced download threshold on torrents with already
downloaded pieces.
* fixed bug with file_progress() with files > 2 GB.
* added --enable-examples option to configure script.
* fixed problem with the resource distribution algorithm * fixed problem with the resource distribution algorithm
(controlling e.g upload/download rates) (controlling e.g upload/download rates).
* fixed incorrect asserts in storage related to torrents with * fixed incorrect asserts in storage related to torrents with
zero-sized files. zero-sized files.
* added support for trackerless torrents (with kademlia DHT). * added support for trackerless torrents (with kademlia DHT).

View File

@ -157,8 +157,9 @@ namespace libtorrent
if (i->priority(old_limit) != i->priority(m_sequenced_download_threshold)) if (i->priority(old_limit) != i->priority(m_sequenced_download_threshold))
{ {
piece_pos& p = *i; piece_pos& p = *i;
int prev_priority = i->priority(old_limit); if (p.index == piece_pos::we_have_index) continue;
move(p.downloading, p.filtered, prev_priority, i->index); int prev_priority = p.priority(old_limit);
move(p.downloading, p.filtered, prev_priority, p.index);
} }
} }
} }
@ -378,6 +379,7 @@ namespace libtorrent
assert(!filtered); assert(!filtered);
assert(priority >= 0); assert(priority >= 0);
assert(elem_index >= 0); assert(elem_index >= 0);
assert(elem_index != piece_pos::we_have_index);
std::vector<std::vector<int> >& src_vec(pick_piece_info_vector( std::vector<std::vector<int> >& src_vec(pick_piece_info_vector(
downloading, filtered)); downloading, filtered));