* Removed core::HashQueue, using the "hashing" view and a function in

core::Manager instead.

* Added a new :rtorrent:hashing state so we can distinguish between
initial hashing and manual rehashes. The former is cleared if the
download is paused.

* Added a hash failed flag to core::Download. This is used to skip
entries in the hashing view that either failed to open or are in the
process of being erased from DownloadList.

* torrent::Bitfield::unset was incrementing, rather than decrementing,
the m_set counter.

* Replaced all torrent::internal_error's in rtorrent with
torrent::client_error.

* ^D now checks :rtorrent:state to decide whetever to stop or erase a
download. Downloads queued for hashing will now stop rather than be
deleted.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@688 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
rakshasa
2006-05-13 00:18:50 +00:00
parent 65f3dda9ab
commit d4706da4d5
22 changed files with 177 additions and 346 deletions
+6 -6
View File
@@ -61,7 +61,7 @@ ElementFileList::ElementFileList(core::Download* d) :
void
ElementFileList::activate(Control* c, MItr mItr) {
if (m_window != NULL)
throw torrent::internal_error("ui::ElementFileList::activate(...) called on an object in the wrong state");
throw torrent::client_error("ui::ElementFileList::activate(...) called on an object in the wrong state");
c->input()->push_front(&m_bindings);
@@ -71,7 +71,7 @@ ElementFileList::activate(Control* c, MItr mItr) {
void
ElementFileList::disable(Control* c) {
if (m_window == NULL)
throw torrent::internal_error("ui::ElementFileList::disable(...) called on an object in the wrong state");
throw torrent::client_error("ui::ElementFileList::disable(...) called on an object in the wrong state");
c->input()->erase(&m_bindings);
@@ -82,7 +82,7 @@ ElementFileList::disable(Control* c) {
void
ElementFileList::receive_next() {
if (m_window == NULL)
throw torrent::internal_error("ui::ElementFileList::receive_next(...) called on a disabled object");
throw torrent::client_error("ui::ElementFileList::receive_next(...) called on a disabled object");
if (++m_focus >= m_download->download()->file_list().size())
m_focus = 0;
@@ -93,7 +93,7 @@ ElementFileList::receive_next() {
void
ElementFileList::receive_prev() {
if (m_window == NULL)
throw torrent::internal_error("ui::ElementFileList::receive_prev(...) called on a disabled object");
throw torrent::client_error("ui::ElementFileList::receive_prev(...) called on a disabled object");
torrent::FileList fl = m_download->download()->file_list();
@@ -111,7 +111,7 @@ ElementFileList::receive_prev() {
void
ElementFileList::receive_priority() {
if (m_window == NULL)
throw torrent::internal_error("ui::ElementFileList::receive_prev(...) called on a disabled object");
throw torrent::client_error("ui::ElementFileList::receive_prev(...) called on a disabled object");
torrent::FileList fl = m_download->download()->file_list();
@@ -129,7 +129,7 @@ ElementFileList::receive_priority() {
void
ElementFileList::receive_change_all() {
if (m_window == NULL)
throw torrent::internal_error("ui::ElementFileList::receive_prev(...) called on a disabled object");
throw torrent::client_error("ui::ElementFileList::receive_prev(...) called on a disabled object");
torrent::FileList fl = m_download->download()->file_list();