diff --git a/android/app/src/cpp/android_host_interface.cpp b/android/app/src/cpp/android_host_interface.cpp index f422ff3be..666b0f2f6 100644 --- a/android/app/src/cpp/android_host_interface.cpp +++ b/android/app/src/cpp/android_host_interface.cpp @@ -822,6 +822,7 @@ bool AndroidHostInterface::ApplyInputProfile(const char* profile_name) Assert(!IsEmulationThreadRunning() || IsEmulationThreadPaused()); CommonHostInterface::ApplyInputProfile(path.c_str(), m_settings_interface); + ApplySettings(false); return true; } diff --git a/src/duckstation-qt/qthostinterface.cpp b/src/duckstation-qt/qthostinterface.cpp index 094cc8a43..5ec81811d 100644 --- a/src/duckstation-qt/qthostinterface.cpp +++ b/src/duckstation-qt/qthostinterface.cpp @@ -767,8 +767,17 @@ void QtHostInterface::applyInputProfile(const QString& profile_path) return; } - std::lock_guard lock(m_settings_mutex); - ApplyInputProfile(profile_path.toUtf8().data(), *m_settings_interface.get()); + Settings old_settings(std::move(g_settings)); + { + std::lock_guard lock(m_settings_mutex); + CommonHostInterface::ApplyInputProfile(profile_path.toUtf8().data(), *m_settings_interface.get()); + CommonHostInterface::LoadSettings(*m_settings_interface.get()); + CommonHostInterface::ApplyGameSettings(false); + CommonHostInterface::FixIncompatibleSettings(false); + } + + CheckForSettingsChanges(old_settings); + emit inputProfileLoaded(); } diff --git a/src/frontend-common/common_host_interface.cpp b/src/frontend-common/common_host_interface.cpp index 7696ffe68..8d28a7a01 100644 --- a/src/frontend-common/common_host_interface.cpp +++ b/src/frontend-common/common_host_interface.cpp @@ -1880,11 +1880,6 @@ void CommonHostInterface::ApplyInputProfile(const char* profile_path, SettingsIn } } - if (System::IsValid()) - System::UpdateControllers(); - - UpdateInputMap(si); - ReportFormattedMessage(TranslateString("OSDMessage", "Loaded input profile from '%s'"), profile_path); }