diff options
author | Robin Gareus <robin@gareus.org> | 2015-01-05 18:29:33 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-01-05 18:29:33 +0100 |
commit | 5584f46003e6ac49432ab772b9ee1ad1dc9c797f (patch) | |
tree | a7e258440d3c36e10a861aa509789ca3cf9afbf1 | |
parent | 6e3e1738ddc4cefdf81641bf4b28696db1ecd338 (diff) |
update windows user_cache_directory(): same pattern as config dir
-rw-r--r-- | libs/ardour/filesystem_paths.cc | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/libs/ardour/filesystem_paths.cc b/libs/ardour/filesystem_paths.cc index 37104b01a1..ded481c54d 100644 --- a/libs/ardour/filesystem_paths.cc +++ b/libs/ardour/filesystem_paths.cc @@ -114,9 +114,10 @@ user_cache_directory () if ((c = getenv ("XDG_CACHE_HOME")) != 0) { p = c; } else { + #ifdef PLATFORM_WINDOWS // Not technically the home dir (since it needs to be a writable folder) - const string home_dir = Glib::build_filename (Glib::get_user_data_dir(), user_config_dir_name); + const string home_dir = Glib::get_user_data_dir(); #else const string home_dir = Glib::get_home_dir(); #endif @@ -124,14 +125,25 @@ user_cache_directory () error << "Unable to determine home directory" << endmsg; exit (1); } - p = home_dir; + +#ifndef PLATFORM_WINDOWS p = Glib::build_filename (p, ".cache"); - } #endif -#ifndef PLATFORM_WINDOWS + } +#endif // end not __APPLE__ + p = Glib::build_filename (p, user_config_dir_name); + +#ifdef PLATFORM_WINDOWS + /* On Windows Glib::get_user_data_dir is the folder to use for local + * (as opposed to roaming) application data. + * See documentation for CSIDL_LOCAL_APPDATA. + * Glib::get_user_data_dir() == GLib::get_user_config_dir() + * so we add an extra subdir *below* the config dir. + */ + p = Glib::build_filename (p, "cache"); #endif if (!Glib::file_test (p, Glib::FILE_TEST_EXISTS)) { |