diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-11-15 00:18:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-15 00:18:09 +0100 |
commit | 98e0d599529aee2b090d84acbd9aaa28572c0da8 (patch) | |
tree | e7cd12b5a695352220f4b9b1e9147865d56b9d87 | |
parent | 6dd6a00f9f24c6179c98b9a4d3f62a16d2e12a90 (diff) | |
parent | d22ab7c85b3f3cef54122d913043dbe0b4e16ed9 (diff) |
Merge pull request #68504 from dzil123/cache_system_dir_xdg2
Cache OS_LinuxBSD::get_system_dir
-rw-r--r-- | platform/linuxbsd/os_linuxbsd.cpp | 13 | ||||
-rw-r--r-- | platform/linuxbsd/os_linuxbsd.h | 2 |
2 files changed, 8 insertions, 7 deletions
diff --git a/platform/linuxbsd/os_linuxbsd.cpp b/platform/linuxbsd/os_linuxbsd.cpp index 22c5f063c3..81cadea51f 100644 --- a/platform/linuxbsd/os_linuxbsd.cpp +++ b/platform/linuxbsd/os_linuxbsd.cpp @@ -128,6 +128,8 @@ void OS_LinuxBSD::initialize() { crash_handler.initialize(); OS_Unix::initialize_core(); + + system_dir_desktop_cache = get_system_dir(SYSTEM_DIR_DESKTOP); } void OS_LinuxBSD::initialize_joypads() { @@ -719,6 +721,10 @@ String OS_LinuxBSD::get_cache_path() const { } String OS_LinuxBSD::get_system_dir(SystemDir p_dir, bool p_shared_storage) const { + if (p_dir == SYSTEM_DIR_DESKTOP && !system_dir_desktop_cache.is_empty()) { + return system_dir_desktop_cache; + } + String xdgparam; switch (p_dir) { @@ -727,31 +733,24 @@ String OS_LinuxBSD::get_system_dir(SystemDir p_dir, bool p_shared_storage) const } break; case SYSTEM_DIR_DCIM: { xdgparam = "PICTURES"; - } break; case SYSTEM_DIR_DOCUMENTS: { xdgparam = "DOCUMENTS"; - } break; case SYSTEM_DIR_DOWNLOADS: { xdgparam = "DOWNLOAD"; - } break; case SYSTEM_DIR_MOVIES: { xdgparam = "VIDEOS"; - } break; case SYSTEM_DIR_MUSIC: { xdgparam = "MUSIC"; - } break; case SYSTEM_DIR_PICTURES: { xdgparam = "PICTURES"; - } break; case SYSTEM_DIR_RINGTONES: { xdgparam = "MUSIC"; - } break; } diff --git a/platform/linuxbsd/os_linuxbsd.h b/platform/linuxbsd/os_linuxbsd.h index aea04c1363..aa7af92aa1 100644 --- a/platform/linuxbsd/os_linuxbsd.h +++ b/platform/linuxbsd/os_linuxbsd.h @@ -72,6 +72,8 @@ class OS_LinuxBSD : public OS_Unix { Vector<String> lspci_device_filter(Vector<String> vendor_device_id_mapping, String class_suffix, String check_column, String whitelist) const; Vector<String> lspci_get_device_value(Vector<String> vendor_device_id_mapping, String check_column, String blacklist) const; + String system_dir_desktop_cache; + protected: virtual void initialize() override; virtual void finalize() override; |