diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-08-26 16:34:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-26 16:34:46 +0200 |
| commit | 2502e412b3ca333a866b36c14c232bb1f33af068 (patch) | |
| tree | e2c2cb420b64ac6388799d017a7992ee553b0081 /Source/Core/Common/Config/Config.cpp | |
| parent | d8e35438bd1314d650c88e367782120b55f12327 (diff) | |
| parent | b62c25864f6d549976b94eda60763524413e896e (diff) | |
Merge pull request #12117 from JosJuice/config-callback-cpu
Don't call RunAsCPUThread in config callbacks
Diffstat (limited to 'Source/Core/Common/Config/Config.cpp')
| -rw-r--r-- | Source/Core/Common/Config/Config.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/Source/Core/Common/Config/Config.cpp b/Source/Core/Common/Config/Config.cpp index ff3a8c6783..3f008fc913 100644 --- a/Source/Core/Common/Config/Config.cpp +++ b/Source/Core/Common/Config/Config.cpp @@ -16,7 +16,7 @@ namespace Config using Layers = std::map<LayerType, std::shared_ptr<Layer>>; static Layers s_layers; -static std::vector<std::pair<size_t, ConfigChangedCallback>> s_callbacks; +static std::vector<std::pair<ConfigChangedCallbackID, ConfigChangedCallback>> s_callbacks; static size_t s_next_callback_id = 0; static u32 s_callback_guards = 0; static std::atomic<u64> s_config_version = 0; @@ -65,15 +65,15 @@ void RemoveLayer(LayerType layer) OnConfigChanged(); } -size_t AddConfigChangedCallback(ConfigChangedCallback func) +ConfigChangedCallbackID AddConfigChangedCallback(ConfigChangedCallback func) { - const size_t callback_id = s_next_callback_id; + const ConfigChangedCallbackID callback_id{s_next_callback_id}; ++s_next_callback_id; s_callbacks.emplace_back(std::make_pair(callback_id, std::move(func))); return callback_id; } -void RemoveConfigChangedCallback(size_t callback_id) +void RemoveConfigChangedCallback(ConfigChangedCallbackID callback_id) { for (auto it = s_callbacks.begin(); it != s_callbacks.end(); ++it) { @@ -138,7 +138,6 @@ void Shutdown() WriteLock lock(s_layers_rw_lock); s_layers.clear(); - s_callbacks.clear(); } void ClearCurrentRunLayer() |
