[Bf-blender-cvs] [4e597a5cff6] master: Cleanup: ID make local: remove `id_in_bmain` argument.
Bastien Montagne
noreply at git.blender.org
Wed Mar 4 11:43:39 CET 2020
Commit: 4e597a5cff6bb4195b8fc9c8102bfbdc4958b31f
Author: Bastien Montagne
Date: Wed Mar 4 11:05:41 2020 +0100
Branches: master
https://developer.blender.org/rB4e597a5cff6bb4195b8fc9c8102bfbdc4958b31f
Cleanup: ID make local: remove `id_in_bmain` argument.
This info is now stored in ID tags themselves, so no need to pass an
extra anonymous boolean parameter around, yay!
===================================================================
M source/blender/blenkernel/BKE_lib_id.h
M source/blender/blenkernel/BKE_node.h
M source/blender/blenkernel/intern/action.c
M source/blender/blenkernel/intern/armature.c
M source/blender/blenkernel/intern/cachefile.c
M source/blender/blenkernel/intern/camera.c
M source/blender/blenkernel/intern/collection.c
M source/blender/blenkernel/intern/curve.c
M source/blender/blenkernel/intern/font.c
M source/blender/blenkernel/intern/gpencil.c
M source/blender/blenkernel/intern/image.c
M source/blender/blenkernel/intern/lattice.c
M source/blender/blenkernel/intern/lib_id.c
M source/blender/blenkernel/intern/light.c
M source/blender/blenkernel/intern/lightprobe.c
M source/blender/blenkernel/intern/linestyle.c
M source/blender/blenkernel/intern/mask.c
M source/blender/blenkernel/intern/material.c
M source/blender/blenkernel/intern/mball.c
M source/blender/blenkernel/intern/mesh.c
M source/blender/blenkernel/intern/movieclip.c
M source/blender/blenkernel/intern/node.c
M source/blender/blenkernel/intern/paint.c
M source/blender/blenkernel/intern/particle.c
M source/blender/blenkernel/intern/scene.c
M source/blender/blenkernel/intern/sound.c
M source/blender/blenkernel/intern/speaker.c
M source/blender/blenkernel/intern/text.c
M source/blender/blenkernel/intern/texture.c
M source/blender/blenkernel/intern/world.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_lib_id.h b/source/blender/blenkernel/BKE_lib_id.h
index aa4ccd9dbb8..fc4612554e9 100644
--- a/source/blender/blenkernel/BKE_lib_id.h
+++ b/source/blender/blenkernel/BKE_lib_id.h
@@ -190,10 +190,7 @@ void id_fake_user_set(struct ID *id);
void id_fake_user_clear(struct ID *id);
void BKE_id_clear_newpoin(struct ID *id);
-void BKE_lib_id_make_local_generic(struct Main *bmain,
- struct ID *id,
- const bool id_in_mainlist,
- const bool lib_local);
+void BKE_lib_id_make_local_generic(struct Main *bmain, struct ID *id, const bool lib_local);
bool BKE_lib_id_make_local(struct Main *bmain,
struct ID *id,
const bool test,
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index e8ccc0c2348..fcf0cd6f165 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -399,10 +399,7 @@ struct bNodeTree **BKE_ntree_ptr_from_id(struct ID *id);
struct bNodeTree *ntreeFromID(struct ID *id);
struct ID *BKE_node_tree_find_owner_ID(struct Main *bmain, struct bNodeTree *ntree);
-void ntreeMakeLocal(struct Main *bmain,
- struct bNodeTree *ntree,
- bool id_in_mainlist,
- const bool lib_local);
+void ntreeMakeLocal(struct Main *bmain, struct bNodeTree *ntree, const bool lib_local);
void ntreeFreeLocalNode(struct bNodeTree *ntree, struct bNode *node);
void ntreeFreeLocalTree(struct bNodeTree *ntree);
struct bNode *ntreeFindType(const struct bNodeTree *ntree, int type);
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index 8477a46bb7e..d9a3ec65a3e 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -93,7 +93,7 @@ bAction *BKE_action_add(Main *bmain, const char name[])
// does copy_fcurve...
void BKE_action_make_local(Main *bmain, bAction *act, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &act->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &act->id, lib_local);
}
/* .................................. */
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 3e27e9e7514..1d4778e6720 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -138,7 +138,7 @@ void BKE_armature_free(bArmature *arm)
void BKE_armature_make_local(Main *bmain, bArmature *arm, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &arm->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &arm->id, lib_local);
}
static void copy_bonechildren(Bone *bone_dst,
diff --git a/source/blender/blenkernel/intern/cachefile.c b/source/blender/blenkernel/intern/cachefile.c
index 25c4d4aedcf..db3202a6bf3 100644
--- a/source/blender/blenkernel/intern/cachefile.c
+++ b/source/blender/blenkernel/intern/cachefile.c
@@ -213,7 +213,7 @@ CacheFile *BKE_cachefile_copy(Main *bmain, const CacheFile *cache_file)
void BKE_cachefile_make_local(Main *bmain, CacheFile *cache_file, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &cache_file->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &cache_file->id, lib_local);
}
void BKE_cachefile_reload(Depsgraph *depsgraph, CacheFile *cache_file)
diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c
index bbf5e398017..b27133ab93f 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -98,7 +98,7 @@ Camera *BKE_camera_copy(Main *bmain, const Camera *cam)
void BKE_camera_make_local(Main *bmain, Camera *cam, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &cam->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &cam->id, lib_local);
}
/** Free (or release) any data used by this camera (does not free the camera itself). */
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 8a260e918fd..89e1d431cfb 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -371,7 +371,7 @@ Collection *BKE_collection_duplicate(Main *bmain,
void BKE_collection_make_local(Main *bmain, Collection *collection, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &collection->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &collection->id, lib_local);
}
/********************************* Naming *******************************/
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index be011c10608..e8688cedd9f 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -222,7 +222,7 @@ Curve *BKE_curve_copy(Main *bmain, const Curve *cu)
void BKE_curve_make_local(Main *bmain, Curve *cu, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &cu->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &cu->id, lib_local);
}
/* Get list of nurbs from editnurbs structure */
diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
index 20a0e794f03..8d3606525d6 100644
--- a/source/blender/blenkernel/intern/font.c
+++ b/source/blender/blenkernel/intern/font.c
@@ -327,7 +327,7 @@ VFont *BKE_vfont_load_exists(struct Main *bmain, const char *filepath)
void BKE_vfont_make_local(Main *bmain, VFont *vfont, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &vfont->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &vfont->id, lib_local);
}
static VFont *which_vfont(Curve *cu, CharInfo *info)
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index ce0ed8a9083..5cd5724f07d 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -709,7 +709,7 @@ bGPdata *BKE_gpencil_data_duplicate(Main *bmain, const bGPdata *gpd_src, bool in
void BKE_gpencil_make_local(Main *bmain, bGPdata *gpd, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &gpd->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &gpd->id, lib_local);
}
/* ************************************************** */
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index efdcf3a92f4..bf59cfb4216 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -464,7 +464,7 @@ Image *BKE_image_copy(Main *bmain, const Image *ima)
void BKE_image_make_local(Main *bmain, Image *ima, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, &ima->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, &ima->id, lib_local);
}
void BKE_image_merge(Main *bmain, Image *dest, Image *source)
diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c
index 2f10bdcf732..20d16df8e63 100644
--- a/source/blender/blenkernel/intern/lattice.c
+++ b/source/blender/blenkernel/intern/lattice.c
@@ -331,7 +331,7 @@ void BKE_lattice_free(Lattice *lt)
void BKE_lattice_make_local(Main *bmain, Lattice *lt, const bool lib_local)
{
- BKE_lib_id_make_local_generic(bmain, <->id, true, lib_local);
+ BKE_lib_id_make_local_generic(bmain, <->id, lib_local);
}
typedef struct LatticeDeformData {
diff --git a/source/blender/blenkernel/intern/lib_id.c b/source/blender/blenkernel/intern/lib_id.c
index 6f51356f8fb..fd1b70c18e3 100644
--- a/source/blender/blenkernel/intern/lib_id.c
+++ b/source/blender/blenkernel/intern/lib_id.c
@@ -157,10 +157,11 @@ static void lib_id_library_local_paths(Main *bmain, Library *lib, ID *id)
* Pull an ID out of a library (make it local). Only call this for IDs that
* don't have other library users.
*/
-static void lib_id_clear_library_data_ex(Main *bmain, ID *id, const bool id_in_mainlist)
+static void lib_id_clear_library_data_ex(Main *bmain, ID *id)
{
bNodeTree *ntree = NULL;
Key *key = NULL;
+ const bool id_in_mainlist = (id->tag & LIB_TAG_NO_MAIN) == 0;
lib_id_library_local_paths(bmain, id->lib, id);
@@ -178,20 +179,18 @@ static void lib_id_clear_library_data_ex(Main *bmain, ID *id, const bool id_in_m
/* Internal bNodeTree blocks inside data-blocks also stores id->lib,
* make sure this stays in sync. */
if ((ntree = ntreeFromID(id))) {
- lib_id_clear_library_data_ex(
- bmain, &ntree->id, false); /* Datablocks' nodetree is never in Main. */
+ lib_id_clear_library_data_ex(bmain, &ntree->id);
}
/* Same goes for shapekeys. */
if ((key = BKE_key_from_id(id))) {
- lib_id_clear_library_data_ex(
- bmain, &key->id, id_in_mainlist); /* sigh, why are keys in Main? */
+ lib_id_clear_library_data_ex(bmain, &key->id);
}
}
void BKE_lib_id_clear_library_data(Main *bmain, ID *id)
{
- lib_id_clear_library_data_ex(bmain, id, true);
+ lib_id_clear_library_data_ex(bmain, id);
}
void id_lib_extern(ID *id)
@@ -378,10 +377,7 @@ static void lib_id_copy_ensure_local(Main *bmain, const ID *old_id, ID *new_id)
/**
* Generic 'make local' function, works for most of data-block types...
*/
-void BKE_lib_id_make_local_generic(Main *bmain,
- ID *id,
- const bool id_in_mainlist,
- const bool lib_local)
+void BKE_lib_id_make_local_generic(Main *bmain, ID *id, const bool lib_local)
{
bool is_local = false, is_lib = false;
@@ -400,7 +396,7 @@ void BKE_lib_id_make_local_generic(Main *bmain,
if (lib_local || is_local) {
if (!is_lib) {
- lib_id_clear_library_data_ex(bmain, id, id_in_mainlist);
+ lib_id_clear_library_data_ex(bmain, id);
BKE_lib_id_expand_local(bmain, id);
}
else {
@@ -551,7 +547,7 @@ bool BKE_lib_id_make_local(Main *bmain, ID *id, const bool test, const bool lib_
return true;
case ID_
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list