From 276dfd9df60afc8a36b7a958eeb7ae396af39901 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sat, 4 Oct 2008 14:01:55 +0000 Subject: [PATCH] BUGFIX: Torrents are no longer starting from scratch when changing default save path (when torrent addition dialog is disabled) --- Changelog | 1 + src/FinishedTorrents.cpp | 2 +- src/bittorrent.cpp | 7 +++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index f1d8b005b..c922ad08f 100644 --- a/Changelog +++ b/Changelog @@ -9,6 +9,7 @@ - BUGFIX: Totally rewritten Web UI list refresh system (fixed memory leak) - BUGFIX: Disable ETA calculation when ETA column is hidden - BUGFIX: Removed "disconnected" connection state, detection was far from perfect + - BUGFIX: Torrents are no longer starting from scratch when changing default save path (when torrent addition dialog is disabled) - COSMETIC: Transfer speed, ratio, connection status and DHT nodes are displayed in status bar - COSMETIC: RSS Tab is now hidden as a default - COSMETIC: Allow to hide or display top toolbar diff --git a/src/FinishedTorrents.cpp b/src/FinishedTorrents.cpp index e984f7d4c..dccb28101 100644 --- a/src/FinishedTorrents.cpp +++ b/src/FinishedTorrents.cpp @@ -280,7 +280,7 @@ void FinishedTorrents::updateFinishedList(){ } } if(h.is_paused()) continue; - if(h.state() == torrent_status::downloading /*|| (h.state() != torrent_status::checking_files && h.state() != torrent_status::queued_for_checking && !h.is_seed())*/) { + if(h.state() == torrent_status::downloading || (h.state() != torrent_status::checking_files && h.state() != torrent_status::queued_for_checking && !h.is_seed())) { // What are you doing here? go back to download tab! int reponse = QMessageBox::question(this, tr("Incomplete torrent in seeding list"), tr("It appears that the state of '%1' torrent changed from 'seeding' to 'downloading'. Would you like to move it back to download list? (otherwise the torrent will simply be deleted)").arg(h.name()), QMessageBox::Yes | QMessageBox::No); if (reponse == QMessageBox::Yes) { diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index aa34ef3be..ece966068 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -957,6 +957,13 @@ void bittorrent::addTorrent(QString path, bool fromScanDir, QString from_url, bo catch (fs::filesystem_error&) {} } QString savePath = getSavePath(hash); + // Save save_path to hard drive + QFile savepath_file(misc::qBittorrentPath()+QString::fromUtf8("BT_backup")+QDir::separator()+hash+QString::fromUtf8(".savepath")); + if(!savepath_file.exists()) { + savepath_file.open(QIODevice::WriteOnly | QIODevice::Text); + savepath_file.write(savePath.toUtf8()); + savepath_file.close(); + } // Adding files to bittorrent session if(preAllocateAll) { h = s->add_torrent(t, fs::path(savePath.toUtf8().data()), resume_data, storage_mode_allocate, true);