From 8e151460265f04c7bf4a981b5f97f252a0444c27 Mon Sep 17 00:00:00 2001
From: lat9nq <22451773+lat9nq@users.noreply.github.com>
Date: Wed, 10 May 2023 17:57:25 -0400
Subject: configure_system: Implement with for loop

---
 src/core/core.cpp | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

(limited to 'src/core/core.cpp')

diff --git a/src/core/core.cpp b/src/core/core.cpp
index da1baa8923..e2902a91ff 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -145,13 +145,7 @@ struct System::Impl {
         core_timing.SetMulticore(is_multicore);
         core_timing.Initialize([&system]() { system.RegisterHostThread(); });
 
-        const auto posix_time = std::chrono::system_clock::now().time_since_epoch();
-        const auto current_time =
-            std::chrono::duration_cast<std::chrono::seconds>(posix_time).count();
-        Settings::values.custom_rtc_differential =
-            (Settings::values.custom_rtc_enabled ? Settings::values.custom_rtc.GetValue()
-                                                 : current_time) -
-            current_time;
+        RefreshTime();
 
         // Create a default fs if one doesn't already exist.
         if (virtual_filesystem == nullptr) {
@@ -188,6 +182,16 @@ struct System::Impl {
         Initialize(system);
     }
 
+    void RefreshTime() {
+        const auto posix_time = std::chrono::system_clock::now().time_since_epoch();
+        const auto current_time =
+            std::chrono::duration_cast<std::chrono::seconds>(posix_time).count();
+        Settings::values.custom_rtc_differential =
+            (Settings::values.custom_rtc_enabled ? Settings::values.custom_rtc.GetValue()
+                                                 : current_time) -
+            current_time;
+    }
+
     void Run() {
         std::unique_lock<std::mutex> lk(suspend_guard);
 
@@ -1022,6 +1026,8 @@ void System::Exit() {
 }
 
 void System::ApplySettings() {
+    impl->RefreshTime();
+
     if (IsPoweredOn()) {
         Renderer().RefreshBaseSettings();
     }
-- 
cgit v1.2.3-70-g09d2