From 26fc70dbfdb11844497f34e2d96ecd6a011cd6bc Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 25 Jun 2020 17:44:46 +0200 Subject: path: do not use old_home for win32 exe dir Apparently mpv supports loading config files from the same directory as the mpv.exe. This is a fallback of some sort. It used the old_home mechanism. I want to add a warning if old_home exists, but that would always show the warning on win32. Obviously we don't want that. Add a separate exe_dir entry to deal with that. Untested, but probably works. Mistakenly reverted as part of the default configuration directory location switch-back in aa18a8e1cde663caeabd93af7d57a745c1a76af6. Separation of the mpv executable directory from old_path is a good change now that we warn about the old_config directory also existing. Fixes #8232 Fixes #8244 Fixes #8262 --- DOCS/man/mpv.rst | 2 ++ options/path.c | 1 + osdep/path-win.c | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/DOCS/man/mpv.rst b/DOCS/man/mpv.rst index 46c0762fad..be29a977d5 100644 --- a/DOCS/man/mpv.rst +++ b/DOCS/man/mpv.rst @@ -441,6 +441,8 @@ Name Meaning ``~~global/`` the global config path, if available (not on win32) ``~~osxbundle/`` the OSX bundle resource path (OSX only) ``~~desktop/`` the path to the desktop (win32, OSX) +``~~exe_dir`` win32 only: the path to the directory containing the exe (for + config file purposes; ``$MPV_HOME`` overrides it) ``~~old_home`` do not use ================ =============================================================== diff --git a/options/path.c b/options/path.c index 9c996ce664..504adb7c84 100644 --- a/options/path.c +++ b/options/path.c @@ -59,6 +59,7 @@ static const char *const config_dirs[] = { "home", "old_home", "osxbundle", + "exe_dir", "global", }; diff --git a/osdep/path-win.c b/osdep/path-win.c index 8f289ff83a..78e83c2222 100644 --- a/osdep/path-win.c +++ b/osdep/path-win.c @@ -90,7 +90,7 @@ const char *mp_get_platform_path_win(void *talloc_ctx, const char *type) } else { if (strcmp(type, "home") == 0) return mp_get_win_app_dir(talloc_ctx); - if (strcmp(type, "old_home") == 0) + if (strcmp(type, "exe_dir") == 0) return mp_get_win_exe_dir(talloc_ctx); // Not really true, but serves as a way to return a lowest-priority dir. if (strcmp(type, "global") == 0) -- cgit v1.2.3