diff options
author | Ray Molenkamp <github@lazydodo.com> | 2022-06-02 20:18:43 +0300 |
---|---|---|
committer | Ray Molenkamp <github@lazydodo.com> | 2022-06-02 20:18:43 +0300 |
commit | 73d8015aa3be539089bd8ec17a9f914b4524c5e7 (patch) | |
tree | 95fc181cd9898f73079b076fa163a518e50bcc0e | |
parent | 2b80bfe9d0e94ba5fae1dccf6eee702fc64df049 (diff) |
Fix T79801: openvdb cache does not support Unicode paths on windows
"Fix" should be taken with a grain of salt, this will fix
the issue on win10 1903 and newer.
OpenVDB uses boosts memory mapped files which call
CreateFileA in the back-end when you feed it a
regular string.
now the encoding for CreateFileA will be whatever the
default is for the system, it internally turns it into
a wide string with said encoding and calls CreateFileW.
This change changes that encoding to UTF-8 for just
blender so we can use utf-8 with any of the narrow
api functions. This is a manifest change and only win10
1903 will look for it, so that sadly limits the fix
to only a subset of users.
While ideally we would have fixed the issue our selves,
some of the calls to openvdb::io::file::open are beyond
our control (ie from inside USD or Mantaflow)
Note: This only changes the behaviour in regard to Win32
API functions, regular CRT functions like fopen or if_stream will
still not accept utf-8 filenames.
Differential Revision: https://developer.blender.org/D14981
Reviewed by: brecht
-rw-r--r-- | release/windows/manifest/blender.exe.manifest.in | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/release/windows/manifest/blender.exe.manifest.in b/release/windows/manifest/blender.exe.manifest.in index b516efe24cb..95a238f775b 100644 --- a/release/windows/manifest/blender.exe.manifest.in +++ b/release/windows/manifest/blender.exe.manifest.in @@ -7,6 +7,11 @@ </requestedPrivileges> </security> </trustInfo> + <application> + <windowsSettings> + <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage> + </windowsSettings> + </application> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <!-- Windows 10 --> |