Priority: P1: Critical
Affects Version/s: 5.1.0
Fix Version/s: 5.1.1
Component/s: Core: I/O
Commits:001b80305addc5e47a1c80f6629a757178d95c81 fixes it for 5.1.1, 73e3d2f6cb002be4ce409c3738db74b61beb12f4 is an additional cleanup for custom allocators
The patch for
QTBUG-30046 killed mkpath for Windows as soon as any part of the directory you want to create already exists but you have no permissions.
See comment on the old issue:
I think that change killed mkpath for Windows as soon as there is any directory on the way to the one you want to create that already exists but for which you have no permissions to create it.
In some rare cases, Windows reports then ERROR_ACCESS_DENIED, instead of ERROR_ALREADY_EXISTS.
The old code had no problem, as the directory part did exist and only that was checked first and no mkDir was tried.
Now it will just fail, making mkpath even for stuff in C:\Users\<xxx> unusable per default, e.g. our application can't create its local data dirs.
Hints that ERROR_ACCESS_DENIED can happen:
This should be a known issue for 5.1, as a lot of stuff won't work that way.
|For Gerrit Dashboard: QTBUG-32314|
|60883,1||QDir::mkpath shouldn't fail if parent directory denies access||stable||qt/qtbase||Status: MERGED||+2||0|