summaryrefslogtreecommitdiffstats
path: root/src/opengl/qglextensions.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2012-01-12 09:16:45 (GMT)
committerQt by Nokia <qt-info@nokia.com>2012-01-16 09:52:49 (GMT)
commitb1916b524b0d076dfc9fad2656d65493067b1b84 (patch)
tree327e36678f4ff470e994559145e14e6dd563c349 /src/opengl/qglextensions.cpp
parent0ce52668616eba11de6c8255ec5319db3405483a (diff)
downloadQt-b1916b524b0d076dfc9fad2656d65493067b1b84.zip
Qt-b1916b524b0d076dfc9fad2656d65493067b1b84.tar.gz
Qt-b1916b524b0d076dfc9fad2656d65493067b1b84.tar.bz2
Windows: Fix qt_ntfs_permission_lookup
Specifying qt_ntfs_permission_lookup++ in application code didn't make qfilesystemengine_win.cpp respect Windows ACL as it was supposed to. This was because GetTokenInformation for TokenUser failed always in resolveLibs() function, because the TOKEN_USER struct that was given to it wasn't large enough to contain both TOKEN_USER and SID structs that GetTokenInformation wants to return in this case. Fixed by calling GetTokenInformation twice, first to determine the required size, and then another time to get the actual token info. Additionally, the SID returned as part of the token info needs to be stored for the lifetime of the application, as the TRUSTEE_W struct has a pointer to it (currentUserTrusteeW). The worldTrusteeW initialization also required a change to properly store the SID. Note: The dynamic resolution of FreeSid and other SID manipulating functions doesn't appear to be necessary, as they are found on the same ifdef level (in winbase.h) as the GetTokenInformation, which already isn't dynamically resolved. Task-number: QTBUG-247 Change-Id: If5b43faeded351c45b52a63854a10d9f618e33ef Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Diffstat (limited to 'src/opengl/qglextensions.cpp')
0 files changed, 0 insertions, 0 deletions