mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-10 14:57:52 +00:00
- Added some debug
- Added more checking on handles before using them
This commit is contained in:
parent
f8c914e446
commit
ec0d6229c6
@ -69,6 +69,7 @@ torrent_handle bittorrent::getTorrentHandle(const QString& hash) const{
|
|||||||
bool bittorrent::isPaused(const QString& hash) const{
|
bool bittorrent::isPaused(const QString& hash) const{
|
||||||
torrent_handle h = s->find_torrent(misc::fromString<sha1_hash>((hash.toStdString())));
|
torrent_handle h = s->find_torrent(misc::fromString<sha1_hash>((hash.toStdString())));
|
||||||
if(!h.is_valid()){
|
if(!h.is_valid()){
|
||||||
|
qDebug("/!\\ Error: Invalid handle");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return h.is_paused();
|
return h.is_paused();
|
||||||
@ -79,6 +80,7 @@ bool bittorrent::isPaused(const QString& hash) const{
|
|||||||
void bittorrent::deleteTorrent(const QString& hash, bool permanent){
|
void bittorrent::deleteTorrent(const QString& hash, bool permanent){
|
||||||
torrent_handle h = s->find_torrent(misc::fromString<sha1_hash>((hash.toStdString())));
|
torrent_handle h = s->find_torrent(misc::fromString<sha1_hash>((hash.toStdString())));
|
||||||
if(!h.is_valid()){
|
if(!h.is_valid()){
|
||||||
|
qDebug("/!\\ Error: Invalid handle");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QString savePath = QString::fromUtf8(h.save_path().string().c_str());
|
QString savePath = QString::fromUtf8(h.save_path().string().c_str());
|
||||||
@ -207,6 +209,7 @@ void bittorrent::addTorrent(const QString& path, bool fromScanDir, const QString
|
|||||||
}
|
}
|
||||||
if(!h.is_valid()){
|
if(!h.is_valid()){
|
||||||
// No need to keep on, it failed.
|
// No need to keep on, it failed.
|
||||||
|
qDebug("/!\\ Error: Invalid handle");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Is this really useful and appropriate ?
|
// Is this really useful and appropriate ?
|
||||||
@ -346,6 +349,7 @@ void bittorrent::disableDHT(){
|
|||||||
void bittorrent::loadFilteredFiles(torrent_handle &h){
|
void bittorrent::loadFilteredFiles(torrent_handle &h){
|
||||||
torrent_info torrentInfo = h.get_torrent_info();
|
torrent_info torrentInfo = h.get_torrent_info();
|
||||||
if(!h.is_valid()){
|
if(!h.is_valid()){
|
||||||
|
qDebug("/!\\ Error: Invalid handle");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QString fileHash = QString(misc::toString(torrentInfo.info_hash()).c_str());
|
QString fileHash = QString(misc::toString(torrentInfo.info_hash()).c_str());
|
||||||
@ -387,6 +391,10 @@ void bittorrent::saveFastResumeData(){
|
|||||||
std::vector<torrent_handle> handles = s->get_torrents();
|
std::vector<torrent_handle> handles = s->get_torrents();
|
||||||
for(unsigned int i=0; i<handles.size(); ++i){
|
for(unsigned int i=0; i<handles.size(); ++i){
|
||||||
torrent_handle &h = handles[i];
|
torrent_handle &h = handles[i];
|
||||||
|
if(!h.is_valid()){
|
||||||
|
qDebug("/!\\ Error: Invalid handle");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// Pause download (needed before fast resume writing)
|
// Pause download (needed before fast resume writing)
|
||||||
h.pause();
|
h.pause();
|
||||||
// Extracting resume data
|
// Extracting resume data
|
||||||
@ -413,6 +421,7 @@ bool bittorrent::isFilePreviewPossible(const QString& hash) const{
|
|||||||
// See if there are supported files in the torrent
|
// See if there are supported files in the torrent
|
||||||
torrent_handle h = s->find_torrent(misc::fromString<sha1_hash>((hash.toStdString())));
|
torrent_handle h = s->find_torrent(misc::fromString<sha1_hash>((hash.toStdString())));
|
||||||
if(!h.is_valid()){
|
if(!h.is_valid()){
|
||||||
|
qDebug("/!\\ Error: Invalid handle");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
torrent_info torrentInfo = h.get_torrent_info();
|
torrent_info torrentInfo = h.get_torrent_info();
|
||||||
@ -493,7 +502,12 @@ void bittorrent::setUploadRateLimit(int rate){
|
|||||||
void bittorrent::setGlobalRatio(float ratio){
|
void bittorrent::setGlobalRatio(float ratio){
|
||||||
std::vector<torrent_handle> handles = s->get_torrents();
|
std::vector<torrent_handle> handles = s->get_torrents();
|
||||||
for(unsigned int i=0; i<handles.size(); ++i){
|
for(unsigned int i=0; i<handles.size(); ++i){
|
||||||
handles[i].set_ratio(ratio);
|
torrent_handle h = handles[i];
|
||||||
|
if(!h.is_valid()){
|
||||||
|
qDebug("/!\\ Error: Invalid handle");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
h.set_ratio(ratio);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -578,6 +592,10 @@ void bittorrent::readAlerts(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void bittorrent::reloadTorrent(const torrent_handle &h, bool compact_mode){
|
void bittorrent::reloadTorrent(const torrent_handle &h, bool compact_mode){
|
||||||
|
if(!h.is_valid()){
|
||||||
|
qDebug("/!\\ Error: Invalid handle");
|
||||||
|
return;
|
||||||
|
}
|
||||||
QDir torrentBackup(misc::qBittorrentPath() + "BT_backup");
|
QDir torrentBackup(misc::qBittorrentPath() + "BT_backup");
|
||||||
fs::path saveDir = h.save_path();
|
fs::path saveDir = h.save_path();
|
||||||
QString fileName = QString(h.name().c_str());
|
QString fileName = QString(h.name().c_str());
|
||||||
|
Loading…
Reference in New Issue
Block a user