From 961935664d28c5caef5377f94480eb16f6a63027 Mon Sep 17 00:00:00 2001 From: capitalistspz Date: Sun, 22 Feb 2026 00:48:40 +0000 Subject: [PATCH] Fix config saving --- src/camera/CameraManager.cpp | 6 +++--- src/config/CemuConfig.cpp | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/camera/CameraManager.cpp b/src/camera/CameraManager.cpp index 8fbcbea9..cda6dde4 100644 --- a/src/camera/CameraManager.cpp +++ b/src/camera/CameraManager.cpp @@ -216,9 +216,9 @@ namespace CameraManager void SaveDevice() { std::scoped_lock lock(s_mutex); - auto& config = GetConfig(); - const auto cameraId = s_device ? Cap_getDeviceUniqueID(s_ctx, *s_device) : ""; - config.camera_id = cameraId; + const std::string cameraId = s_device ? Cap_getDeviceUniqueID(s_ctx, *s_device) : ""; + GetConfig().camera_id.SetValue(cameraId); + GetConfigHandle().Save(); } std::optional GetCurrentDevice() diff --git a/src/config/CemuConfig.cpp b/src/config/CemuConfig.cpp index 50523da5..39248582 100644 --- a/src/config/CemuConfig.cpp +++ b/src/config/CemuConfig.cpp @@ -291,7 +291,7 @@ XMLConfigParser CemuConfig::Load(XMLConfigParser& parser) emulated_usb_devices.emulate_dimensions_toypad = usbdevices.get("EmulateDimensionsToypad", emulated_usb_devices.emulate_dimensions_toypad); - auto camera = parser.get("camera"); + auto camera = parser.get("Camera"); camera_id = camera.get("DeviceId", ""); return parser; @@ -457,6 +457,9 @@ XMLConfigParser CemuConfig::Save(XMLConfigParser& parser) usbdevices.set("EmulateInfinityBase", emulated_usb_devices.emulate_infinity_base.GetValue()); usbdevices.set("EmulateDimensionsToypad", emulated_usb_devices.emulate_dimensions_toypad.GetValue()); + auto camera = config.set("Camera"); + camera.set("DeviceId", camera_id.GetValue()); + return config; }