Cleanup: ID make local: remove `id_in_bmain` argument.
authorBastien Montagne <b.mont29@gmail.com>
Wed, 4 Mar 2020 10:05:41 +0000 (11:05 +0100)
committerBastien Montagne <b.mont29@gmail.com>
Wed, 4 Mar 2020 10:43:30 +0000 (11:43 +0100)
This info is now stored in ID tags themselves, so no need to pass an
extra anonymous boolean parameter around, yay!

30 files changed:
source/blender/blenkernel/BKE_lib_id.h
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/intern/action.c
source/blender/blenkernel/intern/armature.c
source/blender/blenkernel/intern/cachefile.c
source/blender/blenkernel/intern/camera.c
source/blender/blenkernel/intern/collection.c
source/blender/blenkernel/intern/curve.c
source/blender/blenkernel/intern/font.c
source/blender/blenkernel/intern/gpencil.c
source/blender/blenkernel/intern/image.c
source/blender/blenkernel/intern/lattice.c
source/blender/blenkernel/intern/lib_id.c
source/blender/blenkernel/intern/light.c
source/blender/blenkernel/intern/lightprobe.c
source/blender/blenkernel/intern/linestyle.c
source/blender/blenkernel/intern/mask.c
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/mball.c
source/blender/blenkernel/intern/mesh.c
source/blender/blenkernel/intern/movieclip.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/paint.c
source/blender/blenkernel/intern/particle.c
source/blender/blenkernel/intern/scene.c
source/blender/blenkernel/intern/sound.c
source/blender/blenkernel/intern/speaker.c
source/blender/blenkernel/intern/text.c
source/blender/blenkernel/intern/texture.c
source/blender/blenkernel/intern/world.c

index aa4ccd9dbb83c13fc8b1c81692b4cc543c1ce29b..fc4612554e9f006a535599bc065483101cc2f84b 100644 (file)
@@ -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,
index e8ccc0c23488f87d1c77bfaeb8a8d6fdd99306f6..fcf0cd6f16540fd2147251f61f8f83b2698e839c 100644 (file)
@@ -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);
index 8477a46bb7e64e75ae8b313c66401bec3f2e87d2..d9a3ec65a3e77729d8e282cd0168709b7f052b6b 100644 (file)
@@ -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);
 }
 
 /* .................................. */
index 3e27e9e75146d3e3e1f18308ef737f987d6ab100..1d4778e67209e474e02b53352e940e177af9fa6c 100644 (file)
@@ -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,
index 25c4d4aedcfd55a05e87a3476244eae1435ec27e..db3202a6bf36886ae104726ea46dfdbf33c0f82c 100644 (file)
@@ -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)
index bbf5e3980176f64a4a69e62fd43c210a72816c0c..b27133ab93f7d0ef9ef6938117b38630683d8d4d 100644 (file)
@@ -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). */
index 8a260e918fde357dff15d3bf9e55ae003d9198ca..89e1d431cfbdcd007ec5a6b1114ce97cc7064ccf 100644 (file)
@@ -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 *******************************/
index be011c10608abbb5e968affdfe8180e33a450239..e8688cedd9f05201aeb38b320ef8326af8f25919 100644 (file)
@@ -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 */
index 20a0e794f03ae9a4b38acb05663024518dbed4ba..8d3606525d6a147a655d399208d440786ba8d883 100644 (file)
@@ -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)
index ce0ed8a90836ddb97d3c87bcd3e62406c93009ef..5cd5724f07ddf8a397224e2e13a74398f8c2c331 100644 (file)
@@ -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);
 }
 
 /* ************************************************** */
index efdcf3a92f4e3ede57768343737c7ead3994c7e7..bf59cfb4216b7c2532c749b36a79f39ee1682d61 100644 (file)
@@ -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)
index 2f10bdcf732b17e018342b45d9a50649e9a73d8c..20d16df8e637d8af73a7e69399858379ca15c53c 100644 (file)
@@ -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, &lt->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &lt->id, lib_local);
 }
 
 typedef struct LatticeDeformData {
index 6f51356f8fb82ff615e5c0d59f3d4d5a50325ca0..fd1b70c18e3309e48ca86f5c3a2aa0b29733626f 100644 (file)
@@ -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_NT:
       if (!test) {
-        ntreeMakeLocal(bmain, (bNodeTree *)id, true, lib_local);
+        ntreeMakeLocal(bmain, (bNodeTree *)id, lib_local);
       }
       return true;
     case ID_BR:
@@ -2226,7 +2222,7 @@ void BKE_library_make_local(Main *bmain,
        * currently there are some indirect usages. So instead of making a copy that we'll likely
        * get rid of later, directly make that data block local.
        * Saves a tremendous amount of time with complex scenes... */
-      lib_id_clear_library_data_ex(bmain, id, true);
+      lib_id_clear_library_data_ex(bmain, id);
       BKE_lib_id_expand_local(bmain, id);
       id->tag &= ~LIB_TAG_DOIT;
 
index e2527523d64d93ce5238e14f70b4e99b6f773840..7f89c6f899f8a1fedc286ca7c7ceef9f2c09485d 100644 (file)
@@ -131,7 +131,7 @@ Light *BKE_light_localize(Light *la)
 
 void BKE_light_make_local(Main *bmain, Light *la, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &la->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &la->id, lib_local);
 }
 
 void BKE_light_free(Light *la)
index 09f4667fc8810bd312920b46f9425afbbd193390..30fbcd4f540fec99a360623b95e77f63ab5b61c7 100644 (file)
@@ -103,7 +103,7 @@ LightProbe *BKE_lightprobe_copy(Main *bmain, const LightProbe *probe)
 
 void BKE_lightprobe_make_local(Main *bmain, LightProbe *probe, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &probe->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &probe->id, lib_local);
 }
 
 void BKE_lightprobe_free(LightProbe *probe)
index 6dc8a525993fcd63a7e7ba49c496ee0850e9b110..0d7dc7e07e06ba98399e1b659617ab5046c8cb84 100644 (file)
@@ -190,7 +190,7 @@ void BKE_linestyle_make_local(struct Main *bmain,
                               FreestyleLineStyle *linestyle,
                               const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &linestyle->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &linestyle->id, lib_local);
 }
 
 FreestyleLineStyle *BKE_linestyle_active_from_view_layer(ViewLayer *view_layer)
index 04fdbd1160838eb2e5a7839004a9c56fdd030838..170d870ec8a20b7621fde26cf0e648fe23c414dd 100644 (file)
@@ -908,7 +908,7 @@ Mask *BKE_mask_copy(Main *bmain, const Mask *mask)
 
 void BKE_mask_make_local(Main *bmain, Mask *mask, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &mask->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &mask->id, lib_local);
 }
 
 void BKE_mask_point_free(MaskSplinePoint *point)
index e13f9bcf684d90f8a8c550158e49d5776b2c9d97..a60953f0ed16aa00d82527c4b920fbc26a9c403a 100644 (file)
@@ -232,7 +232,7 @@ Material *BKE_material_localize(Material *ma)
 
 void BKE_material_make_local(Main *bmain, Material *ma, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &ma->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &ma->id, lib_local);
 }
 
 Material ***BKE_object_material_array(Object *ob)
index 752a3b327946367e20e83bffac695f46183aa491..c82928a4094f1ba23be03fbc1af79082d40960c2 100644 (file)
@@ -127,7 +127,7 @@ MetaBall *BKE_mball_copy(Main *bmain, const MetaBall *mb)
 
 void BKE_mball_make_local(Main *bmain, MetaBall *mb, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &mb->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &mb->id, lib_local);
 }
 
 /* most simple meta-element adding function
index b4419baf8458622e8cfc025cabff1070eacd2fa2..a483a35425488d77f21b1a9d0f44ae09f1937baa 100644 (file)
@@ -838,7 +838,7 @@ Mesh *BKE_mesh_from_editmesh_with_coords_thin_wrap(BMEditMesh *em,
 
 void BKE_mesh_make_local(Main *bmain, Mesh *me, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &me->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &me->id, lib_local);
 }
 
 BoundBox *BKE_mesh_boundbox_get(Object *ob)
index 85871eb86e64070403b684d23d685406df1d5676..2afdb679518253f6d08c3717a6e38db9b0eb7129 100644 (file)
@@ -1668,7 +1668,7 @@ MovieClip *BKE_movieclip_copy(Main *bmain, const MovieClip *clip)
 
 void BKE_movieclip_make_local(Main *bmain, MovieClip *clip, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &clip->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &clip->id, lib_local);
 }
 
 float BKE_movieclip_remap_scene_to_clip_frame(const MovieClip *clip, float framenr)
index 0213727e828a33b1077102c986b677776a6893a7..5850e1265f9ea3aacb6e291d72598a01a329fd1d 100644 (file)
@@ -2296,9 +2296,9 @@ ID *BKE_node_tree_find_owner_ID(Main *bmain, struct bNodeTree *ntree)
   return NULL;
 }
 
-void ntreeMakeLocal(Main *bmain, bNodeTree *ntree, bool id_in_mainlist, const bool lib_local)
+void ntreeMakeLocal(Main *bmain, bNodeTree *ntree, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &ntree->id, id_in_mainlist, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &ntree->id, lib_local);
 }
 
 int ntreeNodeExists(bNodeTree *ntree, bNode *testnode)
index 111d28a4cdaa1222ca7a4bcef8cf9c8958e01f49..8466f67730fa104189b9464b8c22973dfa61a732 100644 (file)
@@ -519,7 +519,7 @@ PaintCurve *BKE_paint_curve_copy(Main *bmain, const PaintCurve *pc)
 
 void BKE_paint_curve_make_local(Main *bmain, PaintCurve *pc, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &pc->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &pc->id, lib_local);
 }
 
 Palette *BKE_paint_palette(Paint *p)
@@ -606,7 +606,7 @@ Palette *BKE_palette_copy(Main *bmain, const Palette *palette)
 
 void BKE_palette_make_local(Main *bmain, Palette *palette, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &palette->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &palette->id, lib_local);
 }
 
 void BKE_palette_init(Palette *palette)
index 56aeaeffef4234d96d135e4934b8b582383d7e64..dce7d643713da40e6818189e2944aab728945a30 100644 (file)
@@ -3839,7 +3839,7 @@ ParticleSettings *BKE_particlesettings_copy(Main *bmain, const ParticleSettings
 
 void BKE_particlesettings_make_local(Main *bmain, ParticleSettings *part, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &part->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &part->id, lib_local);
 }
 
 /************************************************/
index 1e8d680e6fb7d7229dcb25a8ada19b3e5851c498..59242d5159cf03ec3b5fab85aa91fc811fc8aac2 100644 (file)
@@ -492,7 +492,7 @@ void BKE_scene_make_local(Main *bmain, Scene *sce, const bool lib_local)
 {
   /* For now should work, may need more work though to support all possible corner cases
    * (also scene_copy probably needs some love). */
-  BKE_lib_id_make_local_generic(bmain, &sce->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &sce->id, lib_local);
 }
 
 /** Free (or release) any data used by this scene (does not free the scene itself). */
index e47ef0cb14f6e021f395eab59c821853b9144d5c..ffaec89f579c29aa241b34353408184f47a463e0 100644 (file)
@@ -219,7 +219,7 @@ void BKE_sound_copy_data(Main *UNUSED(bmain),
 
 void BKE_sound_make_local(Main *bmain, bSound *sound, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &sound->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &sound->id, lib_local);
 }
 
 #ifdef WITH_AUDASPACE
index 4d8f010e0dbc9ea69863661b0bc4a0b9b277f54c..e4c85fda03ccada0241746a13e91cd3335291251 100644 (file)
@@ -76,7 +76,7 @@ Speaker *BKE_speaker_copy(Main *bmain, const Speaker *spk)
 
 void BKE_speaker_make_local(Main *bmain, Speaker *spk, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &spk->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &spk->id, lib_local);
 }
 
 void BKE_speaker_free(Speaker *spk)
index 06738e01afa2cdb3c9ea1cb51bf92df43eab445d..09e01723543e4c6630c4fbf88abeeba61aad16c0 100644 (file)
@@ -443,7 +443,7 @@ Text *BKE_text_copy(Main *bmain, const Text *ta)
 
 void BKE_text_make_local(Main *bmain, Text *text, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &text->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &text->id, lib_local);
 }
 
 void BKE_text_clear(Text *text) /* called directly from rna */
index 266e91f95ba79e5088f7a6c6092b0ef3fb69565f..61c48ebbe582aa3728fcbab8902e09eb5676c815 100644 (file)
@@ -388,7 +388,7 @@ Tex *BKE_texture_localize(Tex *tex)
 
 void BKE_texture_make_local(Main *bmain, Tex *tex, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &tex->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &tex->id, lib_local);
 }
 
 Tex *give_current_linestyle_texture(FreestyleLineStyle *linestyle)
index 42b6cca77c96edd36ce0fbadf7eacc30e77cf0b1..d6e28932a3674226d7879f386508948ef2383cdd 100644 (file)
@@ -156,7 +156,7 @@ World *BKE_world_localize(World *wrld)
 
 void BKE_world_make_local(Main *bmain, World *wrld, const bool lib_local)
 {
-  BKE_lib_id_make_local_generic(bmain, &wrld->id, true, lib_local);
+  BKE_lib_id_make_local_generic(bmain, &wrld->id, lib_local);
 }
 
 void BKE_world_eval(struct Depsgraph *depsgraph, World *world)