Frontend: Prevent FileSystemWatcher from blocking UI thread
Instead of tying the QFileSystemWatcher to the GameList and updating in the UI thread, this change moves it to the worker thread. Since it gets deleted and recreated as part of the worker thread, this prevents it from ever getting used from multiple threads (which is why it was originally done on the UI thread)
This commit is contained in:
@@ -170,9 +170,15 @@ signals:
|
||||
* @param entry_items a list with `QStandardItem`s that make up the columns of the new entry.
|
||||
*/
|
||||
void EntryReady(QList<QStandardItem*> entry_items);
|
||||
void Finished();
|
||||
|
||||
/**
|
||||
* After the worker has traversed the game directory looking for entries, this signal is emmited
|
||||
* with a list of folders that should be watched for changes as well.
|
||||
*/
|
||||
void Finished(QStringList watch_list);
|
||||
|
||||
private:
|
||||
QStringList watch_list;
|
||||
QString dir_path;
|
||||
bool deep_scan;
|
||||
std::atomic_bool stop_processing;
|
||||
|
Reference in New Issue
Block a user