From 06a29997112216b5c688e002f4d6d11a7c5473ca Mon Sep 17 00:00:00 2001 From: programmer_ceds Date: Fri, 15 Aug 2025 13:29:36 +0100 Subject: [PATCH] Issue #11902: libgimpbase: Correct displayed flatpak GIMP config folder --- libgimpbase/gimpenv.c | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/libgimpbase/gimpenv.c b/libgimpbase/gimpenv.c index 656b8f7ab3..fc01c176cc 100644 --- a/libgimpbase/gimpenv.c +++ b/libgimpbase/gimpenv.c @@ -346,11 +346,29 @@ gimp_directory (void) #else /* UNIX */ - /* g_get_user_config_dir () always returns a path as a non-null - * and non-empty string - */ - gimp_dir = g_build_filename (g_get_user_config_dir (), - GIMPDIR, GIMP_USER_VERSION, NULL); + if (g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS)) + { /* Linux flatpak version */ + gchar *host_xdg_config_home = g_getenv ("HOST_XDG_CONFIG_HOME"); + + if (host_xdg_config_home == NULL) + gimp_dir = g_build_filename (g_get_home_dir (), + ".config", + GIMPDIR, GIMP_USER_VERSION, + NULL); + else + gimp_dir = g_build_filename (host_xdg_config_home, + GIMPDIR, GIMP_USER_VERSION, + NULL); + } + + if (gimp_dir == NULL) + { + /* g_get_user_config_dir () always returns a path as a non-null + * and non-empty string + */ + gimp_dir = g_build_filename (g_get_user_config_dir (), + GIMPDIR, GIMP_USER_VERSION, NULL); + } #endif /* PLATFORM_OSX */ }