Browse Source

- Fixed assert hit in new FSWatcher code

adaptive-webui-19844
Christophe Dumez 16 years ago
parent
commit
6369401150
  1. 21
      src/bittorrent.cpp

21
src/bittorrent.cpp

@ -924,12 +924,21 @@ void bittorrent::setDefaultSavePath(QString savepath) { @@ -924,12 +924,21 @@ void bittorrent::setDefaultSavePath(QString savepath) {
// Enable directory scanning
void bittorrent::enableDirectoryScanning(QString scan_dir) {
if(!scan_dir.isEmpty()) {
Q_ASSERT(FSWatcher == 0);
FSMutex = new QMutex();
FSWatcher = new QFileSystemWatcher(QStringList(scan_dir), this);
connect(FSWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(scanDirectory(QString)));
// Initial scan
scanDirectory(scan_dir);
if(FSWatcher == 0) {
FSMutex = new QMutex();
FSWatcher = new QFileSystemWatcher(QStringList(scan_dir), this);
connect(FSWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(scanDirectory(QString)));
// Initial scan
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…
Cancel
Save