summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/yuzu/configuration/configure_per_game.cpp8
-rw-r--r--src/yuzu/configuration/configure_system.cpp5
2 files changed, 13 insertions, 0 deletions
diff --git a/src/yuzu/configuration/configure_per_game.cpp b/src/yuzu/configuration/configure_per_game.cpp
index 4f9e8db08..e371f902e 100644
--- a/src/yuzu/configuration/configure_per_game.cpp
+++ b/src/yuzu/configuration/configure_per_game.cpp
@@ -18,6 +18,7 @@
18 18
19#include "common/fs/fs_util.h" 19#include "common/fs/fs_util.h"
20#include "common/settings_enums.h" 20#include "common/settings_enums.h"
21#include "common/settings_input.h"
21#include "configuration/shared_widget.h" 22#include "configuration/shared_widget.h"
22#include "core/core.h" 23#include "core/core.h"
23#include "core/file_sys/control_metadata.h" 24#include "core/file_sys/control_metadata.h"
@@ -98,6 +99,13 @@ void ConfigurePerGame::ApplyConfiguration() {
98 addons_tab->ApplyConfiguration(); 99 addons_tab->ApplyConfiguration();
99 input_tab->ApplyConfiguration(); 100 input_tab->ApplyConfiguration();
100 101
102 if (Settings::values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked &&
103 Settings::values.players.GetValue()[0].controller_type ==
104 Settings::ControllerType::Handheld) {
105 Settings::values.use_docked_mode.SetValue(Settings::ConsoleMode::Handheld);
106 Settings::values.use_docked_mode.SetGlobal(true);
107 }
108
101 system.ApplySettings(); 109 system.ApplySettings();
102 Settings::LogSettings(); 110 Settings::LogSettings();
103 111
diff --git a/src/yuzu/configuration/configure_system.cpp b/src/yuzu/configuration/configure_system.cpp
index c4833f4e7..0c8e5c8b4 100644
--- a/src/yuzu/configuration/configure_system.cpp
+++ b/src/yuzu/configuration/configure_system.cpp
@@ -106,6 +106,11 @@ void ConfigureSystem::Setup(const ConfigurationShared::Builder& builder) {
106 push(Settings::values.linkage.by_category[Settings::Category::System]); 106 push(Settings::values.linkage.by_category[Settings::Category::System]);
107 107
108 for (auto setting : settings) { 108 for (auto setting : settings) {
109 if (setting->Id() == Settings::values.use_docked_mode.Id() &&
110 Settings::IsConfiguringGlobal()) {
111 continue;
112 }
113
109 ConfigurationShared::Widget* widget = builder.BuildWidget(setting, apply_funcs); 114 ConfigurationShared::Widget* widget = builder.BuildWidget(setting, apply_funcs);
110 115
111 if (widget == nullptr) { 116 if (widget == nullptr) {