Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Windows 10 long paths #8393

Merged
merged 4 commits into from Nov 9, 2019

Conversation

@CookiePLMonster
Copy link
Contributor

CookiePLMonster commented Oct 6, 2019

This PR makes Dolphin compatible with Windows 10 long paths. Windows 10 1607 and newer allows applications to lift MAX_PATH limitation via manifest, so with a few code changes I was able to remove MAX_PATH dependency from all non-Qt code paths and opt in to that.

I verified against games and settings located in a path which has over MAX_PATH characters - game showed in the list and booted, settings also seem to save.

The only function still using MAX_PATH (and not being a third party) is CreateTempDir but as far as I can tell that is only used in unit tests, so I didn't bother.

@CookiePLMonster CookiePLMonster force-pushed the CookiePLMonster:long-paths branch 2 times, most recently from 4cfe729 to 1558582 Oct 6, 2019
Source/Core/Common/CDUtils.cpp Outdated Show resolved Hide resolved
Source/Core/Common/CommonFuncs.cpp Outdated Show resolved Hide resolved
Source/Core/Common/FileUtil.cpp Outdated Show resolved Hide resolved
Source/Core/Core/PowerPC/Jit64/JitAsm.cpp Outdated Show resolved Hide resolved
Source/Core/Common/FileUtil.cpp Outdated Show resolved Hide resolved
Source/Core/Common/CompatPatches.cpp Outdated Show resolved Hide resolved
- GetTempFilenameForAtomicWrite
- SetUserDirectory
This unifies GetModuleFileName calls between Dolphin and WinUpdater
and allows to gracefully remove MAX_PATH limit from GetExePath
@CookiePLMonster CookiePLMonster force-pushed the CookiePLMonster:long-paths branch from 1558582 to ea8a305 Oct 7, 2019
@CookiePLMonster CookiePLMonster requested a review from lioncash Oct 7, 2019
Copy link
Member

leoetlino left a comment

LGTM, and all the comments have been addressed.

@leoetlino leoetlino merged commit f4e12f8 into dolphin-emu:master Nov 9, 2019
10 checks passed
10 checks passed
default Very basic checks passed, handed off to Buildbot.
Details
lint Build succeeded on builder lint
Details
pr-android Build succeeded on builder pr-android
Details
pr-deb-dbg-x64 Build succeeded on builder pr-deb-dbg-x64
Details
pr-deb-x64 Build succeeded on builder pr-deb-x64
Details
pr-freebsd-x64 Build succeeded on builder pr-freebsd-x64
Details
pr-osx-x64 Build succeeded on builder pr-osx-x64
Details
pr-ubu-x64 Build succeeded on builder pr-ubu-x64
Details
pr-win-dbg-x64 Build succeeded on builder pr-win-dbg-x64
Details
pr-win-x64 Build succeeded on builder pr-win-x64
Details
@CookiePLMonster CookiePLMonster deleted the CookiePLMonster:long-paths branch Nov 10, 2019
@BParks21

This comment has been minimized.

Copy link

BParks21 commented Nov 11, 2019

@CookiePLMonster I think this broke the auto updater. Before this the last build where the auto updater worked was 5.0-11165. Builds 5.0-11170 and up the auto updater doesn't work.

@CookiePLMonster

This comment has been minimized.

Copy link
Contributor Author

CookiePLMonster commented Nov 11, 2019

Fixed by #8469.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4 participants
You can’t perform that action at this time.