Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intern/ghost/GHOST_Path-api.h8
-rw-r--r--source/blender/blenkernel/BKE_appdir.h5
-rw-r--r--source/blender/blenkernel/intern/appdir.c11
-rw-r--r--source/blender/python/intern/bpy.c2
4 files changed, 20 insertions, 6 deletions
diff --git a/intern/ghost/GHOST_Path-api.h b/intern/ghost/GHOST_Path-api.h
index d303654d3e6..42c7cc75668 100644
--- a/intern/ghost/GHOST_Path-api.h
+++ b/intern/ghost/GHOST_Path-api.h
@@ -30,13 +30,19 @@ extern GHOST_TSuccess GHOST_DisposeSystemPaths(void);
/**
* Determine the base dir in which shared resources are located. It will first try to use
* "unpack and run" path, then look for properly installed path, including versioning.
- * \return Unsigned char string pointing to system dir (eg /usr/share/blender/).
+ * \return Unsigned char string pointing to system dir (eg `/usr/share/blender/`).
+ *
+ * \note typically: `BKE_appdir_resource_path_id(BLENDER_RESOURCE_PATH_SYSTEM, false)` should be
+ * used instead of this function directly as it ensures environment variable overrides are used.
*/
extern const char *GHOST_getSystemDir(int version, const char *versionstr);
/**
* Determine the base dir in which user configuration is stored, including versioning.
* \return Unsigned char string pointing to user dir (eg ~).
+ *
+ * \note typically: `BKE_appdir_resource_path_id(BLENDER_RESOURCE_PATH_USER, false)` should be
+ * used instead of this function directly as it ensures environment variable overrides are used.
*/
extern const char *GHOST_getUserDir(int version, const char *versionstr);
diff --git a/source/blender/blenkernel/BKE_appdir.h b/source/blender/blenkernel/BKE_appdir.h
index 0f00ab9c321..a67c6c27b47 100644
--- a/source/blender/blenkernel/BKE_appdir.h
+++ b/source/blender/blenkernel/BKE_appdir.h
@@ -90,7 +90,10 @@ const char *BKE_appdir_folder_id_user_notest(int folder_id,
* Returns the path of the top-level version-specific local, user or system directory.
* If check_is_dir, then the result will be NULL if the directory doesn't exist.
*/
-const char *BKE_appdir_folder_id_version(int folder_id, int version, bool check_is_dir);
+const char *BKE_appdir_resource_path_id_with_version(int folder_id,
+ bool check_is_dir,
+ int version);
+const char *BKE_appdir_resource_path_id(int folder_id, bool check_is_dir);
/**
* Check if this is an install with user files kept together
diff --git a/source/blender/blenkernel/intern/appdir.c b/source/blender/blenkernel/intern/appdir.c
index 7c409f1095b..b2f1e75cd1d 100644
--- a/source/blender/blenkernel/intern/appdir.c
+++ b/source/blender/blenkernel/intern/appdir.c
@@ -760,9 +760,9 @@ const char *BKE_appdir_folder_id_create(const int folder_id, const char *subfold
return path;
}
-const char *BKE_appdir_folder_id_version(const int folder_id,
- const int version,
- const bool check_is_dir)
+const char *BKE_appdir_resource_path_id_with_version(const int folder_id,
+ const bool check_is_dir,
+ const int version)
{
static char path[FILE_MAX] = "";
bool ok;
@@ -785,6 +785,11 @@ const char *BKE_appdir_folder_id_version(const int folder_id,
return ok ? path : NULL;
}
+const char *BKE_appdir_resource_path_id(const int folder_id, const bool check_is_dir)
+{
+ return BKE_appdir_resource_path_id_with_version(folder_id, check_is_dir, BLENDER_VERSION);
+}
+
/** \} */
/* -------------------------------------------------------------------- */
diff --git a/source/blender/python/intern/bpy.c b/source/blender/python/intern/bpy.c
index 3b3ffb321c3..861b4dddff9 100644
--- a/source/blender/python/intern/bpy.c
+++ b/source/blender/python/intern/bpy.c
@@ -322,7 +322,7 @@ static PyObject *bpy_resource_path(PyObject *UNUSED(self), PyObject *args, PyObj
return NULL;
}
- path = BKE_appdir_folder_id_version(type.value_found, (major * 100) + minor, false);
+ path = BKE_appdir_resource_path_id_with_version(type.value_found, (major * 100) + minor, false);
return PyC_UnicodeFromByte(path ? path : "");
}