summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VideoConfig.cpp
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2025-05-03 02:48:44 -0500
committerJordan Woyak <jordan.woyak@gmail.com>2025-11-02 17:30:43 -0600
commitf289b06e0db8bba6a3491d6e3cf0c2dd1b7a29fa (patch)
tree4e95a04a656f571e4dc0a7024348d22c5a1c662e /Source/Core/VideoCommon/VideoConfig.cpp
parent9c28f19e56307ac4de750ffa6ffb8c4e15e55def (diff)
Common: Make HookableEvent use non-static data.
Co-authored-by: Dentomologist <dentomologist@gmail.com>
Diffstat (limited to 'Source/Core/VideoCommon/VideoConfig.cpp')
-rw-r--r--Source/Core/VideoCommon/VideoConfig.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp
index 0214dab9dd..63d061e684 100644
--- a/Source/Core/VideoCommon/VideoConfig.cpp
+++ b/Source/Core/VideoCommon/VideoConfig.cpp
@@ -38,6 +38,7 @@ VideoConfig g_ActiveConfig;
BackendInfo g_backend_info;
static std::optional<CPUThreadConfigCallback::ConfigChangedCallbackID>
s_config_changed_callback_id = std::nullopt;
+static Common::EventHook s_check_config_event;
static bool IsVSyncActive(bool enabled)
{
@@ -218,8 +219,16 @@ void VideoConfig::VerifyValidity()
}
}
+void VideoConfig::Init()
+{
+ s_check_config_event = GetVideoEvents().after_frame_event.Register(
+ [](Core::System&) { CheckForConfigChanges(); }, "CheckForConfigChanges");
+}
+
void VideoConfig::Shutdown()
{
+ s_check_config_event.reset();
+
if (!s_config_changed_callback_id.has_value())
return;
@@ -390,10 +399,7 @@ void CheckForConfigChanges()
}
// Notify all listeners
- ConfigChangedEvent::Trigger(changed_bits);
+ GetVideoEvents().config_changed_event.Trigger(changed_bits);
// TODO: Move everything else to the ConfigChanged event
}
-
-static Common::EventHook s_check_config_event = AfterFrameEvent::Register(
- [](Core::System&) { CheckForConfigChanges(); }, "CheckForConfigChanges");