diff --git a/src/core/bittorrent/torrenthandle.cpp b/src/core/bittorrent/torrenthandle.cpp index f4c16bf74..9f022c7e6 100644 --- a/src/core/bittorrent/torrenthandle.cpp +++ b/src/core/bittorrent/torrenthandle.cpp @@ -206,7 +206,8 @@ TorrentHandle::TorrentHandle(Session *session, const libtorrent::torrent_handle if (!data.resumed) { if (hasMetadata()) { setFirstLastPiecePriority(data.sequential); - appendExtensionsToIncompleteFiles(); + if (m_session->isAppendExtensionEnabled()) + appendExtensionsToIncompleteFiles(); } } } @@ -1556,7 +1557,8 @@ void TorrentHandle::handleMetadataReceivedAlert(libt::metadata_received_alert *p Q_UNUSED(p); qDebug("Metadata received for torrent %s.", qPrintable(name())); updateStatus(); - appendExtensionsToIncompleteFiles(); + if (m_session->isAppendExtensionEnabled()) + appendExtensionsToIncompleteFiles(); m_session->handleTorrentMetadataReceived(this); if (isPaused()) { @@ -1695,6 +1697,14 @@ void TorrentHandle::removeExtensionsFromIncompleteFiles() } void TorrentHandle::adjustActualSavePath() +{ + if (!isMoveInProgress()) + adjustActualSavePath_impl(); + else + m_moveStorageTriggers.append(boost::bind(&TorrentHandle::adjustActualSavePath_impl, this)); +} + +void TorrentHandle::adjustActualSavePath_impl() { QString path; if (!useTempPath()) { diff --git a/src/core/bittorrent/torrenthandle.h b/src/core/bittorrent/torrenthandle.h index 541ce96c4..bbab9a73f 100644 --- a/src/core/bittorrent/torrenthandle.h +++ b/src/core/bittorrent/torrenthandle.h @@ -333,6 +333,7 @@ namespace BitTorrent void resolveCountries(bool b); void adjustSavePath(); void adjustActualSavePath(); + void adjustActualSavePath_impl(); void moveStorage(const QString &newPath); void appendExtensionsToIncompleteFiles(); void removeExtensionsFromIncompleteFiles();