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)) {
|
||||
// sequential download
|
||||
h.set_sequential_download(TorrentTempData::isSequential(hash));
|
||||
h.prioritize_first_last_piece(TorrentTempData::isSequential(hash));
|
||||
|
||||
// The following is useless for newly added magnet
|
||||
if(!magnet) {
|
||||
@ -1109,6 +1108,9 @@ void QBtSession::loadTorrentTempData(QTorrentHandle h, QString savePath, bool ma
|
||||
TorrentTempData::getFilesPriority(hash, fp);
|
||||
h.prioritize_files(fp);
|
||||
|
||||
// Prioritize first/last piece
|
||||
h.prioritize_first_last_piece(TorrentTempData::isSequential(hash));
|
||||
|
||||
// Update file names
|
||||
const QStringList files_path = TorrentTempData::getFilesPath(hash);
|
||||
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 {
|
||||
if(!torrent_handle::has_metadata()) return;
|
||||
// Download first and last pieces first for all media files in the torrent
|
||||
torrent_info::file_iterator it;
|
||||
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();
|
||||
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";
|
||||
|
Loading…
x
Reference in New Issue
Block a user