mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 03:52:49 +01:00
merge #15208: remove macOS launch-at-startup when compiled with > macOS 10.11
This commit is contained in:
parent
ced48380b8
commit
def36ab1f4
@ -909,13 +909,11 @@ 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);
|
||||
LSSharedFileListItemRef findStartupItemInList(LSSharedFileListRef list, CFURLRef findUrl)
|
||||
LSSharedFileListItemRef findStartupItemInList(CFArrayRef listSnapshot, LSSharedFileListRef list, CFURLRef findUrl)
|
||||
{
|
||||
CFArrayRef listSnapshot = LSSharedFileListCopySnapshot(list, nullptr);
|
||||
if (listSnapshot == nullptr) {
|
||||
return nullptr;
|
||||
}
|
||||
@ -940,15 +938,12 @@ LSSharedFileListItemRef findStartupItemInList(LSSharedFileListRef list, CFURLRef
|
||||
if(currentItemURL) {
|
||||
if (CFEqual(currentItemURL, findUrl)) {
|
||||
// found
|
||||
CFRelease(listSnapshot);
|
||||
CFRelease(currentItemURL);
|
||||
return item;
|
||||
}
|
||||
CFRelease(currentItemURL);
|
||||
}
|
||||
}
|
||||
|
||||
CFRelease(listSnapshot);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@ -960,10 +955,12 @@ bool GetStartOnSystemStartup()
|
||||
}
|
||||
|
||||
LSSharedFileListRef loginItems = LSSharedFileListCreate(nullptr, kLSSharedFileListSessionLoginItems, nullptr);
|
||||
LSSharedFileListItemRef foundItem = findStartupItemInList(loginItems, bitcoinAppUrl);
|
||||
|
||||
CFArrayRef listSnapshot = LSSharedFileListCopySnapshot(loginItems, nullptr);
|
||||
bool res = (findStartupItemInList(listSnapshot, loginItems, bitcoinAppUrl) != nullptr);
|
||||
CFRelease(bitcoinAppUrl);
|
||||
return !!foundItem; // return boolified object
|
||||
CFRelease(loginItems);
|
||||
CFRelease(listSnapshot);
|
||||
return res;
|
||||
}
|
||||
|
||||
bool SetStartOnSystemStartup(bool fAutoStart)
|
||||
@ -974,7 +971,8 @@ bool SetStartOnSystemStartup(bool fAutoStart)
|
||||
}
|
||||
|
||||
LSSharedFileListRef loginItems = LSSharedFileListCreate(nullptr, kLSSharedFileListSessionLoginItems, nullptr);
|
||||
LSSharedFileListItemRef foundItem = findStartupItemInList(loginItems, bitcoinAppUrl);
|
||||
CFArrayRef listSnapshot = LSSharedFileListCopySnapshot(loginItems, nullptr);
|
||||
LSSharedFileListItemRef foundItem = findStartupItemInList(listSnapshot, loginItems, bitcoinAppUrl);
|
||||
|
||||
if(fAutoStart && !foundItem) {
|
||||
// add Dash Core app to startup item list
|
||||
@ -986,6 +984,8 @@ bool SetStartOnSystemStartup(bool fAutoStart)
|
||||
}
|
||||
|
||||
CFRelease(bitcoinAppUrl);
|
||||
CFRelease(loginItems);
|
||||
CFRelease(listSnapshot);
|
||||
return true;
|
||||
}
|
||||
#pragma GCC diagnostic pop
|
||||
|
@ -89,6 +89,16 @@ OptionsDialog::OptionsDialog(QWidget *parent, bool enableWallet) :
|
||||
connect(ui->connectSocksTor, &QPushButton::toggled, ui->proxyPortTor, &QWidget::setEnabled);
|
||||
connect(ui->connectSocksTor, &QPushButton::toggled, this, &OptionsDialog::updateProxyValidationState);
|
||||
|
||||
/* Window elements init */
|
||||
#ifdef Q_OS_MAC
|
||||
#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
|
||||
|
||||
pageButtons = new QButtonGroup(this);
|
||||
pageButtons->addButton(ui->btnMain, pageButtons->buttons().size());
|
||||
/* Remove Wallet/CoinJoin tabs in case of -disablewallet */
|
||||
|
Loading…
Reference in New Issue
Block a user