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:
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_library.h9
-rw-r--r--source/blender/blenkernel/intern/library.c2
-rw-r--r--source/blender/blenkernel/intern/particle_system.c5
3 files changed, 11 insertions, 5 deletions
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h
index 6584a975671..0438ac95ce2 100644
--- a/source/blender/blenkernel/BKE_library.h
+++ b/source/blender/blenkernel/BKE_library.h
@@ -105,6 +105,15 @@ enum {
LIB_ID_COPY_KEEP_LIB = 1 << 25,
/* EXCEPTION! Deep-copy shapekeys used by copied obdata ID. */
LIB_ID_COPY_SHAPEKEY = 1 << 26,
+
+ /* *** Helper 'defines' gathering most common flag sets. *** */
+ /* Shapekeys are not real ID's, more like local data to geometry IDs... */
+ LIB_ID_COPY_DEFAULT = LIB_ID_COPY_SHAPEKEY,
+ /* Generate a local copy, outside of bmain, to work on (used by COW e.g.). */
+ LIB_ID_COPY_LOCALIZE = LIB_ID_CREATE_NO_MAIN |
+ LIB_ID_CREATE_NO_USER_REFCOUNT |
+ LIB_ID_CREATE_NO_DEG_TAG |
+ LIB_ID_COPY_CACHES,
};
void BKE_libblock_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, const int flag);
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index d4009912300..1cf07c8c669 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -715,7 +715,7 @@ bool BKE_id_copy_ex(Main *bmain, const ID *id, ID **r_newid, const int flag)
*/
bool BKE_id_copy(Main *bmain, const ID *id, ID **newid)
{
- return BKE_id_copy_ex(bmain, id, newid, LIB_ID_COPY_SHAPEKEY);
+ return BKE_id_copy_ex(bmain, id, newid, LIB_ID_COPY_DEFAULT);
}
/** Does a mere memory swap over the whole IDs data (including type-specific memory).
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index 008ef0b02bf..77422ca20e3 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -4195,10 +4195,7 @@ static ParticleSettings *particle_settings_localize(ParticleSettings *particle_s
BKE_id_copy_ex(NULL,
(ID *)&particle_settings->id,
(ID **)&particle_settings_local,
- (LIB_ID_CREATE_NO_MAIN |
- LIB_ID_CREATE_NO_USER_REFCOUNT |
- LIB_ID_CREATE_NO_DEG_TAG |
- LIB_ID_COPY_CACHES));
+ LIB_ID_COPY_LOCALIZE);
return particle_settings_local;
}