From d91f8d95b1c9eab3153d0a6f32abeaeb95f87104 Mon Sep 17 00:00:00 2001 From: Floris Bos Date: Thu, 3 Feb 2022 18:57:41 +0100 Subject: [PATCH] Fix advanced settings not working if wifiSSIDHidden is not in settings file - Fix advanced settings not working if users has wifi settings saved with previous version of Imager, and user selected "use always" Ref #343 - Also fix problem where "SSH enabled" is not saved on Mac OS X due to the check assuming QSettings stores settings as strings, while with the plist stuff on Mac OS X it is stored as boolean. --- CMakeLists.txt | 4 ++-- OptionsPopup.qml | 10 +++++++--- debian/changelog | 7 +++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ac932a0..c560e91 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,8 +9,8 @@ endif() project(rpi-imager LANGUAGES CXX C) set(IMAGER_VERSION_MAJOR 1) set(IMAGER_VERSION_MINOR 7) -set(IMAGER_VERSION_STR "${IMAGER_VERSION_MAJOR}.${IMAGER_VERSION_MINOR}") -set(IMAGER_VERSION_CSV "${IMAGER_VERSION_MAJOR},${IMAGER_VERSION_MINOR},0,0") +set(IMAGER_VERSION_STR "${IMAGER_VERSION_MAJOR}.${IMAGER_VERSION_MINOR}.1") +set(IMAGER_VERSION_CSV "${IMAGER_VERSION_MAJOR},${IMAGER_VERSION_MINOR},1,0") add_definitions(-DIMAGER_VERSION_STR="${IMAGER_VERSION_STR}") add_definitions(-DIMAGER_VERSION_CSV=${IMAGER_VERSION_CSV}) diff --git a/OptionsPopup.qml b/OptionsPopup.qml index 7be07f4..202b797 100644 --- a/OptionsPopup.qml +++ b/OptionsPopup.qml @@ -469,7 +469,7 @@ Popup { chkSetUser.checked = true /* Older imager versions did not have a sshEnabled setting. Assume it is true if it does not exists and sshUserPassword is set */ - if (!('sshEnabled' in settings) || settings.sshEnabled === "true") { + if (!('sshEnabled' in settings) || settings.sshEnabled === "true" || settings.sshEnabled === true) { chkSSH.checked = true radioPasswordAuthentication.checked = true } @@ -485,7 +485,9 @@ Popup { } if ('wifiSSID' in settings) { fieldWifiSSID.text = settings.wifiSSID - chkWifiSSIDHidden.checked = settings.wifiSSIDHidden + if ('wifiSSIDHidden' in settings && settings.wifiSSIDHidden) { + chkWifiSSIDHidden.checked = true + } chkShowPassword.checked = false fieldWifiPassword.text = settings.wifiPassword fieldWifiCountry.currentIndex = fieldWifiCountry.find(settings.wifiCountry) @@ -798,7 +800,9 @@ Popup { } if (chkWifi.checked) { settings.wifiSSID = fieldWifiSSID.text - settings.wifiSSIDHidden = chkWifiSSIDHidden.checked + if (chkWifiSSIDHidden.checked) { + settings.wifiSSIDHidden = true + } settings.wifiPassword = fieldWifiPassword.text settings.wifiCountry = fieldWifiCountry.editText } diff --git a/debian/changelog b/debian/changelog index 11b26db..82626bb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +rpi-imager (1.7.1) unstable; urgency=medium + + * Fix advanced settings being broken if there are saved wifi + settings and wifiSSIDHidden is not present + + -- Floris Bos Thu, 03 Feb 2022 18:38:15 +0100 + rpi-imager (1.7.0) unstable; urgency=medium * Only apply advanced settings if the operating system indicates it