diff options
author | Liam <byteslice@airmail.cc> | 2023-10-23 22:09:29 -0400 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-10-23 23:06:07 -0400 |
commit | 79894152a8b2270f928644c37ef26f33eb44272e (patch) | |
tree | e64dfe4d710b0da3936dd7f52b3965a6a903137c /src/yuzu/game_list.h | |
parent | 9274eaecd07f9e1fd2b0da1de2811e9fef22c4f3 (diff) |
qt: fix game list shutdown crash
Diffstat (limited to 'src/yuzu/game_list.h')
-rw-r--r-- | src/yuzu/game_list.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/yuzu/game_list.h b/src/yuzu/game_list.h index 712570cea..563a3a35b 100644 --- a/src/yuzu/game_list.h +++ b/src/yuzu/game_list.h @@ -109,7 +109,6 @@ signals: void BootGame(const QString& game_path, u64 program_id, std::size_t program_index, StartGameType type, AmLaunchType launch_type); void GameChosen(const QString& game_path, const u64 title_id = 0); - void ShouldCancelWorker(); void OpenFolderRequested(u64 program_id, GameListOpenTarget target, const std::string& game_path); void OpenTransferableShaderCacheRequested(u64 program_id); @@ -138,11 +137,16 @@ private slots: void OnUpdateThemedIcons(); private: + friend class GameListWorker; + void WorkerEvent(); + void AddDirEntry(GameListDir* entry_items); void AddEntry(const QList<QStandardItem*>& entry_items, GameListDir* parent); - void ValidateEntry(const QModelIndex& item); void DonePopulating(const QStringList& watch_list); +private: + void ValidateEntry(const QModelIndex& item); + void RefreshGameDirectory(); void ToggleFavorite(u64 program_id); @@ -165,7 +169,7 @@ private: QVBoxLayout* layout = nullptr; QTreeView* tree_view = nullptr; QStandardItemModel* item_model = nullptr; - GameListWorker* current_worker = nullptr; + std::unique_ptr<GameListWorker> current_worker; QFileSystemWatcher* watcher = nullptr; ControllerNavigation* controller_navigation = nullptr; CompatibilityList compatibility_list; |