mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-08-13 21:52:30 +00:00
* Properly invalidate BlockTransfer's in Block so they get deleted.
* Added is_active flag to TrackerManager and don't reset the up/download baseline in Download::start() when a request is queued. * Remove the "started" filter in hashing view, so it starts hashing stopped torrents. git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@735 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -328,7 +328,12 @@ DownloadList::pause(Download* download) {
|
||||
|
||||
// Always clear hashing on pause. When a hashing request is added,
|
||||
// it should have cleared the hash resume data.
|
||||
download->variable()->set_value("hashing", Download::variable_hashing_stopped);
|
||||
if (download->variable()->get_value("hashing") != Download::variable_hashing_stopped) {
|
||||
download->download()->hash_stop();
|
||||
download->variable()->set_value("hashing", Download::variable_hashing_stopped);
|
||||
|
||||
std::for_each(slot_map_hash_removed().begin(), slot_map_hash_removed().end(), download_list_call(download));
|
||||
}
|
||||
|
||||
if (!download->download()->is_active())
|
||||
return;
|
||||
@@ -337,7 +342,6 @@ DownloadList::pause(Download* download) {
|
||||
torrent::resume_save_progress(*download->download(), download->download()->bencode()->get_key("libtorrent_resume"));
|
||||
|
||||
std::for_each(slot_map_stop().begin(), slot_map_stop().end(), download_list_call(download));
|
||||
std::for_each(slot_map_hash_removed().begin(), slot_map_hash_removed().end(), download_list_call(download));
|
||||
|
||||
download->variable()->set("state_changed", cachedTime.seconds());
|
||||
|
||||
@@ -488,12 +492,14 @@ DownloadList::confirm_finished(Download* download) {
|
||||
control->core()->download_store()->save(download);
|
||||
}
|
||||
|
||||
// Send the completed request before resuming so we don't reset the
|
||||
// up/downloaded baseline.
|
||||
download->download()->tracker_list().send_completed();
|
||||
|
||||
std::for_each(slot_map_finished().begin(), slot_map_finished().end(), download_list_call(download));
|
||||
|
||||
if (!download->is_active() && download->variable()->get_value("state") == 1)
|
||||
resume(download);
|
||||
|
||||
download->download()->tracker_list().send_completed();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -198,7 +198,7 @@ main(int argc, char** argv) {
|
||||
|
||||
// The hashing view does not include stopped torrents.
|
||||
control->variable()->process_command("view_add = hashing");
|
||||
control->variable()->process_command("view_filter = hashing,hashing,started");
|
||||
control->variable()->process_command("view_filter = hashing,hashing");
|
||||
control->variable()->process_command("view_filter_on = hashing,hash_queued,hash_removed,hash_done");
|
||||
control->variable()->process_command("view_sort_new = hashing,state_changed");
|
||||
control->variable()->process_command("view_sort_current = hashing,state_changed");
|
||||
|
||||
Reference in New Issue
Block a user