From 516437a1b70b6df87faadfd38c3d84e6dfb5eae8 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Fri, 18 Jan 2019 21:47:01 -1000 Subject: [PATCH] Qt: remove macOS launch-at-startup option when compiled with > macOS 10.11 --- doc/release-notes.md | 6 ++++++ src/qt/guiutil.cpp | 2 +- src/qt/optionsdialog.cpp | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/release-notes.md b/doc/release-notes.md index 53b5a2119f3..c21a153a250 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -262,6 +262,12 @@ Graphical User Interface (GUI) balance shown if the wallet was created using the `createwallet` RPC and the `disable_private_keys` parameter was set to true. +- The launch-on-startup option is no longer available on macOS if + compiled with macosx min version greater than 10.11 (use + CXXFLAGS="-mmacosx-version-min=10.11" + CFLAGS="-mmacosx-version-min=10.11" for setting the deployment + sdk version) + Low-level changes ================= diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index b84c07d51ab..b61fc25dc7d 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -683,7 +683,7 @@ bool SetStartOnSystemStartup(bool fAutoStart) } -#elif defined(Q_OS_MAC) +#elif defined(Q_OS_MAC) && defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED <= 101100 // based on: https://github.com/Mozketo/LaunchAtLoginController/blob/master/LaunchAtLoginController.m LSSharedFileListItemRef findStartupItemInList(LSSharedFileListRef list, CFURLRef findUrl); diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index 27cec06d4bb..849bc2e4771 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -74,6 +74,12 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) : #ifdef Q_OS_MAC /* remove Window tab on Mac */ ui->tabWidget->removeTab(ui->tabWidget->indexOf(ui->tabWindow)); +#if defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED > 101100 + /* hide launch at startup option if compiled against macOS > 10.11 (removed API) */ + ui->bitcoinAtStartup->setVisible(false); + ui->verticalLayout_Main->removeWidget(ui->bitcoinAtStartup); + ui->verticalLayout_Main->removeItem(ui->horizontalSpacer_0_Main); +#endif #endif /* remove Wallet tab in case of -disablewallet */