X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e408bf5257ead0754de5ef37a39867c7536dbe03..d8812c6e0e780fb2dae99bc352c5061f58793e14:/src/msw/utils.cpp diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp index 7088abfaba..9aa2197290 100644 --- a/src/msw/utils.cpp +++ b/src/msw/utils.cpp @@ -36,6 +36,7 @@ #include "wx/dynlib.h" #include "wx/dynload.h" #include "wx/scopeguard.h" +#include "wx/filename.h" #include "wx/confbase.h" // for wxExpandEnvVars() @@ -218,7 +219,7 @@ bool wxGetFullHostName(wxChar *buf, int maxSize) if ( !host.empty() ) { - wxStrlcpy(buf, host, maxSize); + wxStrlcpy(buf, host.c_str(), maxSize); return true; } @@ -431,7 +432,7 @@ const wxChar* wxGetHomeDir(wxString *pstr) else // fall back to the program directory { // extract the directory component of the program file name - wxSplitPath(wxGetFullModuleName(), &strDir, NULL, NULL); + wxFileName::SplitPath(wxGetFullModuleName(), &strDir, NULL, NULL); } #endif // UNIX/Win @@ -944,18 +945,23 @@ bool wxShutdown(int WXUNUSED_IN_WINCE(flags)) TOKEN_PRIVILEGES tkp; // Get the LUID for the shutdown privilege. - ::LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, - &tkp.Privileges[0].Luid); + bOK = ::LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, + &tkp.Privileges[0].Luid) != 0; - tkp.PrivilegeCount = 1; // one privilege to set - tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; + if ( bOK ) + { + tkp.PrivilegeCount = 1; // one privilege to set + tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; + + // Get the shutdown privilege for this process. + ::AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, + (PTOKEN_PRIVILEGES)NULL, 0); - // Get the shutdown privilege for this process. - ::AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, - (PTOKEN_PRIVILEGES)NULL, 0); + // Cannot test the return value of AdjustTokenPrivileges. + bOK = ::GetLastError() == ERROR_SUCCESS; + } - // Cannot test the return value of AdjustTokenPrivileges. - bOK = ::GetLastError() == ERROR_SUCCESS; + ::CloseHandle(hToken); } }