mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-01 01:16:01 +00:00
- prevent downloadFromUrl flooding
This commit is contained in:
parent
8f7de730cc
commit
c7592a6dc8
@ -50,6 +50,7 @@
|
|||||||
- BUGFIX: Improved incremental download
|
- BUGFIX: Improved incremental download
|
||||||
- BUGFIX: Improved unicode support
|
- BUGFIX: Improved unicode support
|
||||||
- BUGFIX: Made torrent deletion from hard-drive safer
|
- BUGFIX: Made torrent deletion from hard-drive safer
|
||||||
|
- BUGFIX: Prevent downloadFromUrl flooding
|
||||||
- COSMETIC: Redesigned torrent properties a little
|
- COSMETIC: Redesigned torrent properties a little
|
||||||
- COSMETIC: Redesigned options a little
|
- COSMETIC: Redesigned options a little
|
||||||
- COSMETIC: Display more logs messages concerning features
|
- COSMETIC: Display more logs messages concerning features
|
||||||
|
1
TODO
1
TODO
@ -80,3 +80,4 @@ beta5->beta6 changelog:
|
|||||||
- BUGFIX: Fixed a bug when switching from finished to downloading list
|
- BUGFIX: Fixed a bug when switching from finished to downloading list
|
||||||
- BUGFIX: Showing checking progress for paused torrents too
|
- BUGFIX: Showing checking progress for paused torrents too
|
||||||
- BUGFIX: Fixed progress column sorting on startup
|
- BUGFIX: Fixed progress column sorting on startup
|
||||||
|
- BUGFIX: Prevent downloadFromUrl flooding
|
||||||
|
@ -135,6 +135,7 @@ class downloadThread : public QThread {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
QStringList url_list;
|
QStringList url_list;
|
||||||
|
QStringList downloading_list;
|
||||||
QMutex mutex;
|
QMutex mutex;
|
||||||
QWaitCondition condition;
|
QWaitCondition condition;
|
||||||
bool abort;
|
bool abort;
|
||||||
@ -160,7 +161,9 @@ class downloadThread : public QThread {
|
|||||||
|
|
||||||
void downloadUrl(QString url){
|
void downloadUrl(QString url){
|
||||||
QMutexLocker locker(&mutex);
|
QMutexLocker locker(&mutex);
|
||||||
|
if(downloading_list.contains(url)) return;
|
||||||
url_list << url;
|
url_list << url;
|
||||||
|
downloading_list << url;
|
||||||
if(!isRunning()){
|
if(!isRunning()){
|
||||||
start();
|
start();
|
||||||
}else{
|
}else{
|
||||||
@ -195,6 +198,11 @@ class downloadThread : public QThread {
|
|||||||
subThreads.removeAt(index);
|
subThreads.removeAt(index);
|
||||||
delete st;
|
delete st;
|
||||||
emit downloadFinished(url, path);
|
emit downloadFinished(url, path);
|
||||||
|
mutex.lock();
|
||||||
|
index = downloading_list.indexOf(url);
|
||||||
|
Q_ASSERT(index != -1);
|
||||||
|
downloading_list.removeAt(index);
|
||||||
|
mutex.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
void propagateDownloadFailure(subDownloadThread* st, QString url, QString reason){
|
void propagateDownloadFailure(subDownloadThread* st, QString url, QString reason){
|
||||||
@ -203,6 +211,11 @@ class downloadThread : public QThread {
|
|||||||
subThreads.removeAt(index);
|
subThreads.removeAt(index);
|
||||||
delete st;
|
delete st;
|
||||||
emit downloadFailure(url, reason);
|
emit downloadFailure(url, reason);
|
||||||
|
mutex.lock();
|
||||||
|
index = downloading_list.indexOf(url);
|
||||||
|
Q_ASSERT(index != -1);
|
||||||
|
downloading_list.removeAt(index);
|
||||||
|
mutex.unlock();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user