diff --git a/CHANGELOG.md b/CHANGELOG.md index d3d137fd8..189ca0747 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ desktop: add column for dive notes to the dive list table desktop: fix bug when printing a dive plan with multiple segments +desktop: fix remembering of bluetooth address for remembered dive computers (not MacOS) desktop: fix bug in bailout gas selection for CCR dives desktop: fix crash on cylinder update of multiple dives desktop: use dynamic tank use drop down in equipment tab and planner diff --git a/desktop-widgets/downloadfromdivecomputer.cpp b/desktop-widgets/downloadfromdivecomputer.cpp index 3afe92858..527682431 100644 --- a/desktop-widgets/downloadfromdivecomputer.cpp +++ b/desktop-widgets/downloadfromdivecomputer.cpp @@ -147,10 +147,13 @@ void DownloadFromDCWidget::DC##num##Clicked() \ ui.vendor->setCurrentIndex(ui.vendor->findText(qPrefDiveComputer::vendor##num())); \ productModel.setStringList(productList[qPrefDiveComputer::vendor##num()]); \ ui.product->setCurrentIndex(ui.product->findText(qPrefDiveComputer::product##num())); \ - ui.bluetoothMode->setChecked(isBluetoothAddress(qPrefDiveComputer::device##num())); \ - if (ui.device->currentIndex() == -1) \ + bool isBluetoothDevice = isBluetoothAddress(qPrefDiveComputer::device##num()); \ + bool isMacOs = QSysInfo::kernelType() == "darwin"; \ + ui.bluetoothMode->setChecked(isBluetoothDevice); \ + if (ui.device->currentIndex() == -1 || (isBluetoothDevice && !isMacOs)) \ + /* macOS seems to have a problem connecting to remembered bluetooth devices if it hasn't already had a connection in the current session */ \ ui.device->setCurrentIndex(deviceIndex(qPrefDiveComputer::device##num())); \ - if (QSysInfo::kernelType() == "darwin") { \ + if (isMacOs) { \ /* it makes no sense that this would be needed on macOS but not Linux */ \ QCoreApplication::processEvents(); \ ui.vendor->update(); \