qstandardpaths_win.cpp: Fix GetCurrentProcessToken() for Win7
The GetCurrentProcessToken() was made an inline function for Windows 8. Expand it to ensure builds work independent of WINVER and disable low integrity support for Windows 7. Fixes: QTBUG-83941 Task-number: QTBUG-83453 Change-Id: Ic989f16621cd80cbc70c6b62779afab8a12714df Reviewed-by: Fredrik Orderud <forderud@gmail.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
798492ccee
commit
a8b373d678
@ -47,6 +47,7 @@
|
||||
#include <qcoreapplication.h>
|
||||
#endif
|
||||
|
||||
#include <qoperatingsystemversion.h>
|
||||
#include <qt_windows.h>
|
||||
#include <shlobj.h>
|
||||
#include <intshcut.h>
|
||||
@ -99,7 +100,11 @@ static bool isProcessLowIntegrity() {
|
||||
// Disable function until Qt CI is updated
|
||||
return false;
|
||||
#else
|
||||
HANDLE process_token = GetCurrentProcessToken(); // non-leaking pseudo-handle
|
||||
if (QOperatingSystemVersion::current() < QOperatingSystemVersion::Windows8)
|
||||
return false;
|
||||
// non-leaking pseudo-handle. Expanded inline function GetCurrentProcessToken()
|
||||
// (was made an inline function in Windows 8).
|
||||
const auto process_token = HANDLE(quintptr(-4));
|
||||
|
||||
QVarLengthArray<char,256> token_info_buf(256);
|
||||
auto* token_info = reinterpret_cast<TOKEN_MANDATORY_LABEL*>(token_info_buf.data());
|
||||
|
Loading…
x
Reference in New Issue
Block a user