]> gitweb.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
qt: preserve known expansion board options
authorStefan Reinauer <stefan.reinauer@coreboot.org>
Sun, 21 Jun 2026 18:44:03 +0000 (11:44 -0700)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Tue, 7 Jul 2026 21:00:11 +0000 (14:00 -0700)
Do not let a later non-matching board setting clear a known raw

option match. Accumulate known-option state while scanning settings

so unhandled raw tokens are filtered only when one option matches.

od-unix/qt/launcher.cpp

index edd406b72b467df4682a095afef8a1e7b09bb503..387ac6d94014fef318e810a6091c45dc2a47844a 100644 (file)
@@ -3376,9 +3376,9 @@ static QString expansionBoardOptionsValue(
         if (board) {
             for (const WinUaeQtBoardSetting &choice : board->settings) {
                 if (choice.type == WinUaeQtBoardSettingType::CheckBox) {
-                    known = name.compare(choice.configValue, Qt::CaseInsensitive) == 0;
+                    known = known || name.compare(choice.configValue, Qt::CaseInsensitive) == 0;
                 } else if (choice.type == WinUaeQtBoardSettingType::String) {
-                    known = name.compare(choice.configValue, Qt::CaseInsensitive) == 0;
+                    known = known || name.compare(choice.configValue, Qt::CaseInsensitive) == 0;
                 } else if (choice.type == WinUaeQtBoardSettingType::Multi) {
                     for (const QString &value : choice.multiValues) {
                         if (name.compare(value, Qt::CaseInsensitive) == 0) {