From f2c86197042ab3179ce81e4b7e370f3bd7a46b75 Mon Sep 17 00:00:00 2001
From: Jannik Vogel <email@jannikvogel.de>
Date: Mon, 11 Apr 2016 14:38:42 +0200
Subject: [PATCH] CitraQt: Apply config at startup

---
 src/citra_qt/config.cpp            |  1 +
 src/citra_qt/configure_debug.cpp   |  3 +--
 src/citra_qt/configure_general.cpp |  8 +-------
 src/citra_qt/main.cpp              |  3 ---
 src/core/settings.cpp              | 14 ++++++++++++++
 src/core/settings.h                |  2 ++
 6 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp
index ecf5c5a750..e363be38a3 100644
--- a/src/citra_qt/config.cpp
+++ b/src/citra_qt/config.cpp
@@ -189,6 +189,7 @@ void Config::SaveValues() {
 
 void Config::Reload() {
     ReadValues();
+    Settings::Apply();
 }
 
 void Config::Save() {
diff --git a/src/citra_qt/configure_debug.cpp b/src/citra_qt/configure_debug.cpp
index ba66d08339..dc3d7b9066 100644
--- a/src/citra_qt/configure_debug.cpp
+++ b/src/citra_qt/configure_debug.cpp
@@ -5,7 +5,6 @@
 #include "citra_qt/configure_debug.h"
 #include "ui_configure_debug.h"
 
-#include "core/gdbstub/gdbstub.h"
 #include "core/settings.h"
 
 ConfigureDebug::ConfigureDebug(QWidget *parent) :
@@ -26,7 +25,7 @@ void ConfigureDebug::setConfiguration() {
 }
 
 void ConfigureDebug::applyConfiguration() {
-    GDBStub::ToggleServer(ui->toogle_gdbstub->isChecked());
     Settings::values.use_gdbstub = ui->toogle_gdbstub->isChecked();
     Settings::values.gdbstub_port = ui->gdbport_spinbox->value();
+    Settings::Apply();
 }
diff --git a/src/citra_qt/configure_general.cpp b/src/citra_qt/configure_general.cpp
index 350bd794d1..a27d0d26c8 100644
--- a/src/citra_qt/configure_general.cpp
+++ b/src/citra_qt/configure_general.cpp
@@ -8,8 +8,6 @@
 
 #include "core/settings.h"
 
-#include "video_core/video_core.h"
-
 ConfigureGeneral::ConfigureGeneral(QWidget *parent) :
     QWidget(parent),
     ui(new Ui::ConfigureGeneral)
@@ -32,12 +30,8 @@ void ConfigureGeneral::setConfiguration() {
 void ConfigureGeneral::applyConfiguration() {
     UISettings::values.gamedir_deepscan = ui->toogle_deepscan->isChecked();
     UISettings::values.confirm_before_closing = ui->toogle_check_exit->isChecked();
-
     Settings::values.region_value = ui->region_combobox->currentIndex();
-
-    VideoCore::g_hw_renderer_enabled =
     Settings::values.use_hw_renderer = ui->toogle_hw_renderer->isChecked();
-
-    VideoCore::g_shader_jit_enabled =
     Settings::values.use_shader_jit = ui->toogle_shader_jit->isChecked();
+    Settings::Apply();
 }
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 23eb28259f..2ca1e51f60 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -141,9 +141,6 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr)
 
     game_list->LoadInterfaceLayout();
 
-    GDBStub::ToggleServer(Settings::values.use_gdbstub);
-    GDBStub::SetServerPort(static_cast<u32>(Settings::values.gdbstub_port));
-
     ui.action_Single_Window_Mode->setChecked(UISettings::values.single_window_mode);
     ToggleWindowMode();
 
diff --git a/src/core/settings.cpp b/src/core/settings.cpp
index 8a14f75aaa..1aa26fbd2a 100644
--- a/src/core/settings.cpp
+++ b/src/core/settings.cpp
@@ -4,8 +4,22 @@
 
 #include "settings.h"
 
+#include "core/gdbstub/gdbstub.h"
+
+#include "video_core/video_core.h"
+
 namespace Settings {
 
 Values values = {};
 
+void Apply() {
+
+    GDBStub::SetServerPort(static_cast<u32>(values.gdbstub_port));
+    GDBStub::ToggleServer(values.use_gdbstub);
+
+    VideoCore::g_hw_renderer_enabled = values.use_hw_renderer;
+    VideoCore::g_shader_jit_enabled = values.use_shader_jit;
+
 }
+
+} // namespace
diff --git a/src/core/settings.h b/src/core/settings.h
index 97ddcdff9d..4933a516dc 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -67,4 +67,6 @@ struct Values {
     u16 gdbstub_port;
 } extern values;
 
+void Apply();
+
 }
-- 
GitLab