From 25f851be7ddb5b357aa8ccb0c515f6a7797cab6e Mon Sep 17 00:00:00 2001 From: Kubat Date: Tue, 9 Feb 2021 14:29:47 +0100 Subject: [PATCH] Patch the '?data' path when aegisub is launched as an AppImage --- .gitignore | 6 ++++++ libaegisub/unix/path.cpp | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/.gitignore b/.gitignore index 7e4ade9c2..75c278598 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,9 @@ subprojects/icu subprojects/ffmpeg subprojects/ffms2* subprojects/boost* + +# Build and tag files +cscope.files +git_version.h +git_version.xml +tags diff --git a/libaegisub/unix/path.cpp b/libaegisub/unix/path.cpp index 0541e0dbe..934371a64 100644 --- a/libaegisub/unix/path.cpp +++ b/libaegisub/unix/path.cpp @@ -44,7 +44,17 @@ void Path::FillPlatformSpecificPaths() { agi::fs::path home = home_dir(); SetToken("?user", home/".aegisub"); SetToken("?local", home/".aegisub"); +#ifdef __linux__ + /* AppImage case */ + if (const char *ptr_root = getenv("APPDIR"); ptr_root != nullptr) { + agi::fs::path root = ptr_root; + SetToken("?data", root/P_DATA); + } else { + SetToken("?data", P_DATA); + } +#else SetToken("?data", P_DATA); +#endif SetToken("?dictionary", "/usr/share/hunspell"); #else agi::fs::path app_support = agi::util::GetApplicationSupportDirectory();