From ad721f81c38f22c90c442a77057d1b21ce4a0ae3 Mon Sep 17 00:00:00 2001 From: collecting Date: Tue, 23 Sep 2025 12:11:31 +0000 Subject: [PATCH 1/2] std::vector::at() crash fix --- src/citron/configuration/shared_widget.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/citron/configuration/shared_widget.cpp b/src/citron/configuration/shared_widget.cpp index 5e1465a46..4669487b1 100644 --- a/src/citron/configuration/shared_widget.cpp +++ b/src/citron/configuration/shared_widget.cpp @@ -152,7 +152,15 @@ QWidget* Widget::CreateCombobox(std::function& serializer, }; const u32 setting_value = std::strtoul(setting.ToString().c_str(), nullptr, 0); - combobox->setCurrentIndex(find_index(setting_value)); + const int index = find_index(setting_value); + + if (index != -1) { + combobox->setCurrentIndex(index); + } else { + LOG_WARNING(Frontend, "Could not find current setting for combobox '{}'. Defaulting to first item.", setting.GetLabel()); + // If not found, safely select the first item in the list instead of an invalid one. + combobox->setCurrentIndex(0); + } serializer = [this, enumeration]() { int current = combobox->currentIndex(); From 6bfe70c1bc066c3ab257fb23c582777e8eae9b3e Mon Sep 17 00:00:00 2001 From: collecting Date: Tue, 23 Sep 2025 12:18:36 +0000 Subject: [PATCH 2/2] std::out_of_range crash --- src/citron/configuration/shared_widget.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/citron/configuration/shared_widget.cpp b/src/citron/configuration/shared_widget.cpp index 4669487b1..34c50d31e 100644 --- a/src/citron/configuration/shared_widget.cpp +++ b/src/citron/configuration/shared_widget.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project +// SPDX-FileCopyrightText: Copyright 2025 citron Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "citron/configuration/shared_widget.h"