From: Stefan Reinauer Date: Sun, 21 Jun 2026 18:44:03 +0000 (-0700) Subject: qt: preserve known expansion board options X-Git-Url: https://gitweb.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=79be8c0d773f53576c94fdb32edb3ebe45599956;p=francis%2Fwinuae.git qt: preserve known expansion board options 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. --- diff --git a/od-unix/qt/launcher.cpp b/od-unix/qt/launcher.cpp index edd406b7..387ac6d9 100644 --- a/od-unix/qt/launcher.cpp +++ b/od-unix/qt/launcher.cpp @@ -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) {