mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-22 20:44:15 +00:00
Fix possible crash on adding magnet links
This commit is contained in:
parent
db4520a13b
commit
e931209860
@ -1100,7 +1100,6 @@ void QBtSession::loadTorrentTempData(QTorrentHandle h, QString savePath, bool ma
|
|||||||
if(TorrentTempData::hasTempData(hash)) {
|
if(TorrentTempData::hasTempData(hash)) {
|
||||||
// sequential download
|
// sequential download
|
||||||
h.set_sequential_download(TorrentTempData::isSequential(hash));
|
h.set_sequential_download(TorrentTempData::isSequential(hash));
|
||||||
h.prioritize_first_last_piece(TorrentTempData::isSequential(hash));
|
|
||||||
|
|
||||||
// The following is useless for newly added magnet
|
// The following is useless for newly added magnet
|
||||||
if(!magnet) {
|
if(!magnet) {
|
||||||
@ -1109,6 +1108,9 @@ void QBtSession::loadTorrentTempData(QTorrentHandle h, QString savePath, bool ma
|
|||||||
TorrentTempData::getFilesPriority(hash, fp);
|
TorrentTempData::getFilesPriority(hash, fp);
|
||||||
h.prioritize_files(fp);
|
h.prioritize_files(fp);
|
||||||
|
|
||||||
|
// Prioritize first/last piece
|
||||||
|
h.prioritize_first_last_piece(TorrentTempData::isSequential(hash));
|
||||||
|
|
||||||
// Update file names
|
// Update file names
|
||||||
const QStringList files_path = TorrentTempData::getFilesPath(hash);
|
const QStringList files_path = TorrentTempData::getFilesPath(hash);
|
||||||
bool force_recheck = false;
|
bool force_recheck = false;
|
||||||
|
@ -606,10 +606,12 @@ void QTorrentHandle::prioritize_first_last_piece(int file_index, bool b) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void QTorrentHandle::prioritize_first_last_piece(bool b) const {
|
void QTorrentHandle::prioritize_first_last_piece(bool b) const {
|
||||||
|
if(!torrent_handle::has_metadata()) return;
|
||||||
// Download first and last pieces first for all media files in the torrent
|
// Download first and last pieces first for all media files in the torrent
|
||||||
torrent_info::file_iterator it;
|
torrent_info::file_iterator it;
|
||||||
int index = 0;
|
int index = 0;
|
||||||
for(it = get_torrent_info().begin_files(); it != get_torrent_info().end_files(); it++) {
|
torrent_info t = get_torrent_info();
|
||||||
|
for(it = t.begin_files(); it != t.end_files(); it++) {
|
||||||
const QString ext = misc::toQStringU(it->path.string()).split(".").last();
|
const QString ext = misc::toQStringU(it->path.string()).split(".").last();
|
||||||
if(misc::isPreviewable(ext) && torrent_handle::file_priority(index) > 0) {
|
if(misc::isPreviewable(ext) && torrent_handle::file_priority(index) > 0) {
|
||||||
qDebug() << "File" << it->path.string().c_str() << "is previewable, toggle downloading of first/last pieces first";
|
qDebug() << "File" << it->path.string().c_str() << "is previewable, toggle downloading of first/last pieces first";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user