Compare commits

...

1 Commits

Author SHA1 Message Date
xbzk be89eed7ad [android] avoid crash upon leaving settings while emulationsession is running 2026-07-07 14:24:00 -03:00
3 changed files with 21 additions and 3 deletions
+18 -2
View File
@@ -381,6 +381,23 @@ void EmulationSession::HaltEmulation() {
m_cv.notify_one();
}
void EmulationSession::ReloadInputDevices() {
std::scoped_lock lock(m_mutex);
if (!m_is_running) {
return;
}
m_system.HIDCore().ReloadInputDevices();
}
void EmulationSession::ApplySettings() {
std::scoped_lock lock(m_mutex);
if (!m_is_running) {
return;
}
m_system.ApplySettings();
m_system.HIDCore().ReloadInputDevices();
}
void EmulationSession::RunEmulation() {
{
std::scoped_lock lock(m_mutex);
@@ -1165,8 +1182,7 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getGpuModel(JNIEnv* env, jobject j
}
void Java_org_yuzu_yuzu_1emu_NativeLibrary_applySettings(JNIEnv* env, jobject jobj) {
EmulationSession::GetInstance().System().ApplySettings();
EmulationSession::GetInstance().System().HIDCore().ReloadInputDevices();
EmulationSession::GetInstance().ApplySettings();
}
void Java_org_yuzu_yuzu_1emu_NativeLibrary_logSettings(JNIEnv* env, jobject jobj) {
+2
View File
@@ -45,6 +45,8 @@ public:
void HaltEmulation();
void RunEmulation();
void ShutdownEmulation();
void ReloadInputDevices();
void ApplySettings();
const Core::PerfStatsResults& PerfStats();
int ShadersBuilding();
@@ -282,7 +282,7 @@ void Java_org_yuzu_yuzu_1emu_features_input_NativeInput_onDeviceMotionEvent(
void Java_org_yuzu_yuzu_1emu_features_input_NativeInput_reloadInputDevices(JNIEnv* env,
jobject j_obj) {
EmulationSession::GetInstance().System().HIDCore().ReloadInputDevices();
EmulationSession::GetInstance().ReloadInputDevices();
}
void Java_org_yuzu_yuzu_1emu_features_input_NativeInput_registerController(JNIEnv* env,