diff --git a/CHANGES b/CHANGES index 353c58498..bd270fdb2 100644 --- a/CHANGES +++ b/CHANGES @@ -102,6 +102,7 @@ Other fixes: - Qt: Fix scrollbar arrows in memory view (fixes mgba.io/i/1558) - Qt: Fix several cases where shader selections don't get saved - Qt: Fix division by zero error in invalid TilePainter state + - Qt: Fix "restart needed" dialog after first config (fixes mgba.io/i/1601) Misc: - GB Memory: Support manual SRAM editing (fixes mgba.io/i/1580) - SDL: Use controller GUID instead of name diff --git a/src/platform/qt/SettingsView.cpp b/src/platform/qt/SettingsView.cpp index cf3bca860..ed425a1e2 100644 --- a/src/platform/qt/SettingsView.cpp +++ b/src/platform/qt/SettingsView.cpp @@ -472,9 +472,12 @@ void SettingsView::updateConfig() { } QVariant cameraDriver = m_ui.cameraDriver->itemData(m_ui.cameraDriver->currentIndex()); - if (cameraDriver != m_controller->getQtOption("cameraDriver")) { + QVariant oldCameraDriver = m_controller->getQtOption("cameraDriver"); + if (cameraDriver != oldCameraDriver) { m_controller->setQtOption("cameraDriver", cameraDriver); - emit cameraDriverChanged(); + if (cameraDriver.toInt() != static_cast(InputController::CameraDriver::NONE) || !oldCameraDriver.isNull()) { + emit cameraDriverChanged(); + } } QVariant camera = m_ui.camera->itemData(m_ui.camera->currentIndex());