Skip to content

Commit

Permalink
Drop boost::scoped_array
Browse files Browse the repository at this point in the history
Cherry-picked from: 1c5d225
  • Loading branch information
ken2812221 authored and xanimo committed Mar 29, 2024
1 parent 3155a5d commit 8bc0ea6
Showing 1 changed file with 8 additions and 27 deletions.
35 changes: 8 additions & 27 deletions src/qt/guiutil.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@
#include "shlwapi.h"
#endif

#include <boost/scoped_array.hpp>

#include <QAbstractItemView>
#include <QApplication>
#include <QClipboard>
Expand All @@ -65,9 +63,7 @@
#include <QFontDatabase>
#endif

#if BOOST_FILESYSTEM_VERSION >= 3
static fs::detail::utf8_codecvt_facet utf8;
#endif

#if defined(Q_OS_MAC)
extern double NSAppKitVersionNumber;
Expand Down Expand Up @@ -618,53 +614,38 @@ bool SetStartOnSystemStartup(bool fAutoStart)
{
CoInitialize(NULL);

// Get a pointer to the IShellLink interface.
IShellLink* psl = NULL;
// Get a pointer to the IShellLinkW interface.
IShellLinkW* psl = NULL;
HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL,
CLSCTX_INPROC_SERVER, IID_IShellLink,
CLSCTX_INPROC_SERVER, IShellLinkW,
reinterpret_cast<void**>(&psl));

if (SUCCEEDED(hres))
{
// Get the current executable path
TCHAR pszExePath[MAX_PATH];
GetModuleFileName(NULL, pszExePath, sizeof(pszExePath));
WCHAR pszExePath[MAX_PATH];
GetModuleFileNameW(NULL, pszExePath, ARRAYSIZE(pszExePath));

// Start client minimized
QString strArgs = "-min";
// Set -testnet /-regtest options
strArgs += QString::fromStdString(strprintf(" -testnet=%d -regtest=%d", GetBoolArg("-testnet", false), GetBoolArg("-regtest", false)));

#ifdef UNICODE
boost::scoped_array<TCHAR> args(new TCHAR[strArgs.length() + 1]);
// Convert the QString to TCHAR*
strArgs.toWCharArray(args.get());
// Add missing '\0'-termination to string
args[strArgs.length()] = '\0';
#endif

// Set the path to the shortcut target
psl->SetPath(pszExePath);
PathRemoveFileSpec(pszExePath);
PathRemoveFileSpecW(pszExePath);
psl->SetWorkingDirectory(pszExePath);
psl->SetShowCmd(SW_SHOWMINNOACTIVE);
#ifndef UNICODE
psl->SetArguments(strArgs.toStdString().c_str());
#else
psl->SetArguments(args.get());
#endif
psl->SetArguments(strArgs.toStdWString().c_str());

// Query IShellLink for the IPersistFile interface for
// saving the shortcut in persistent storage.
IPersistFile* ppf = NULL;
hres = psl->QueryInterface(IID_IPersistFile, reinterpret_cast<void**>(&ppf));
if (SUCCEEDED(hres))
{
WCHAR pwsz[MAX_PATH];
// Ensure that the string is ANSI.
MultiByteToWideChar(CP_ACP, 0, StartupShortcutPath().string().c_str(), -1, pwsz, MAX_PATH);
// Save the link by calling IPersistFile::Save.
hres = ppf->Save(pwsz, TRUE);
hres = ppf->Save(StartupShortcutPath().wstring().c_str(), TRUE);
ppf->Release();
psl->Release();
CoUninitialize();
Expand Down

0 comments on commit 8bc0ea6

Please sign in to comment.