mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-15 09:43:07 -07:00
- Fixed assert hit in new FSWatcher code
This commit is contained in:
parent
fa05441e74
commit
6369401150
1 changed files with 15 additions and 6 deletions
|
@ -924,12 +924,21 @@ void bittorrent::setDefaultSavePath(QString savepath) {
|
||||||
// Enable directory scanning
|
// Enable directory scanning
|
||||||
void bittorrent::enableDirectoryScanning(QString scan_dir) {
|
void bittorrent::enableDirectoryScanning(QString scan_dir) {
|
||||||
if(!scan_dir.isEmpty()) {
|
if(!scan_dir.isEmpty()) {
|
||||||
Q_ASSERT(FSWatcher == 0);
|
if(FSWatcher == 0) {
|
||||||
FSMutex = new QMutex();
|
FSMutex = new QMutex();
|
||||||
FSWatcher = new QFileSystemWatcher(QStringList(scan_dir), this);
|
FSWatcher = new QFileSystemWatcher(QStringList(scan_dir), this);
|
||||||
connect(FSWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(scanDirectory(QString)));
|
connect(FSWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(scanDirectory(QString)));
|
||||||
// Initial scan
|
// Initial scan
|
||||||
scanDirectory(scan_dir);
|
scanDirectory(scan_dir);
|
||||||
|
} else {
|
||||||
|
QString old_scan_dir = FSWatcher->directories().first();
|
||||||
|
if(old_scan_dir != scan_dir) {
|
||||||
|
FSWatcher->removePath(old_scan_dir);
|
||||||
|
FSWatcher->addPath(scan_dir);
|
||||||
|
// Initial scan
|
||||||
|
scanDirectory(scan_dir);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue