[Bf-blender-cvs] [cae3750ff95] master: Cleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.

Bastien Montagne noreply at git.blender.org
Tue Jan 15 11:09:44 CET 2019


Commit: cae3750ff95ff2c68f666b949ada969613200359
Author: Bastien Montagne
Date:   Mon Jan 14 16:15:15 2019 +0100
Branches: master
https://developer.blender.org/rBcae3750ff95ff2c68f666b949ada969613200359

Cleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.

===================================================================

M	source/blender/blenkernel/intern/library.c
M	source/blender/blenkernel/intern/library_override.c
M	source/blender/blenkernel/intern/library_remap.c
M	source/blender/blenkernel/intern/main.c
M	source/blender/editors/mesh/meshtools.c
M	source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
M	source/blender/makesrna/intern/rna_main_api.c

===================================================================

diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index dcc4ac84d05..53febc34715 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -2090,7 +2090,7 @@ void BKE_library_make_local(
 			 *       However, this is a highly-risky presumption, and nice crasher in case something goes wrong here.
 			 *       So for 2.78a will keep the safe option, and switch to more efficient one in master later. */
 #if 1
-			BKE_libblock_free_ex(bmain, id, false, true);
+			BKE_id_free_ex(bmain, id, LIB_ID_FREE_NO_USER_REFCOUNT, false);
 #else
 			BKE_libblock_unlink(bmain, id, false, false);
 			BKE_id_free(bmain, id);
diff --git a/source/blender/blenkernel/intern/library_override.c b/source/blender/blenkernel/intern/library_override.c
index 714730b2f52..9688b50c17c 100644
--- a/source/blender/blenkernel/intern/library_override.c
+++ b/source/blender/blenkernel/intern/library_override.c
@@ -649,13 +649,13 @@ void BKE_override_static_update(Main *bmain, ID *local)
 
 	/* Again, horribly innefficient in our case, we need something off-Main (aka moar generic nolib copy/free stuff)! */
 	/* XXX And crashing in complex cases (e.g. because depsgraph uses same data...). */
-	BKE_libblock_free_ex(bmain, tmp_id, true, false);
+	BKE_id_free_ex(bmain, tmp_id, LIB_ID_FREE_NO_UI_USER, true);
 
 	if (local->override_static->storage) {
 		/* We know this datablock is not used anywhere besides local->override->storage. */
 		/* XXX For until we get fully shadow copies, we still need to ensure storage releases
 		 *     its usage of any ID pointers it may have. */
-		BKE_libblock_free_ex(bmain, local->override_static->storage, true, false);
+		BKE_id_free_ex(bmain, local->override_static->storage, LIB_ID_FREE_NO_UI_USER, true);
 		local->override_static->storage = NULL;
 	}
 
@@ -744,7 +744,7 @@ ID *BKE_override_static_operations_store_start(Main *bmain, OverrideStaticStorag
 		if (!RNA_struct_override_store(
 		        bmain, &rnaptr_final, &rnaptr_reference, &rnaptr_storage, local->override_static))
 		{
-			BKE_libblock_free_ex(override_storage, storage_id, true, false);
+			BKE_id_free_ex(override_storage, storage_id, LIB_ID_FREE_NO_UI_USER, true);
 			storage_id = NULL;
 		}
 	}
@@ -781,7 +781,7 @@ void BKE_override_static_operations_store_finalize(OverrideStaticStorage *overri
 		ID *id;
 
 		while ((id = lb->first)) {
-			BKE_libblock_free_ex(override_storage, id, true, false);
+			BKE_id_free_ex(override_storage, id, LIB_ID_FREE_NO_UI_USER, true);
 		}
 	}
 
diff --git a/source/blender/blenkernel/intern/library_remap.c b/source/blender/blenkernel/intern/library_remap.c
index a09599df4a2..e7afd980aa4 100644
--- a/source/blender/blenkernel/intern/library_remap.c
+++ b/source/blender/blenkernel/intern/library_remap.c
@@ -950,7 +950,7 @@ void BKE_libblock_free_ex(Main *bmain, void *idv, const bool do_id_user, const b
 
 void BKE_libblock_free(Main *bmain, void *idv)
 {
-	BKE_libblock_free_ex(bmain, idv, true, true);
+	BKE_id_free(bmain, idv);
 }
 
 void BKE_libblock_free_us(Main *bmain, void *idv)      /* test users */
diff --git a/source/blender/blenkernel/intern/main.c b/source/blender/blenkernel/intern/main.c
index e40a1eb9ba8..e231302f154 100644
--- a/source/blender/blenkernel/intern/main.c
+++ b/source/blender/blenkernel/intern/main.c
@@ -64,61 +64,65 @@ void BKE_main_free(Main *mainvar)
 	ListBase *lbarray[MAX_LIBARRAY];
 	int a;
 
+	const int free_flag = LIB_ID_FREE_NO_MAIN | LIB_ID_FREE_NO_UI_USER | LIB_ID_FREE_NO_USER_REFCOUNT;
+
 	MEM_SAFE_FREE(mainvar->blen_thumb);
 
 	a = set_listbasepointers(mainvar, lbarray);
 	while (a--) {
 		ListBase *lb = lbarray[a];
-		ID *id;
+		ID *id, *id_next;
 
-		while ( (id = lb->first) ) {
+		for (id = lb->first; id != NULL; id = id_next) {
+			id_next = id->next;
 #if 1
-			BKE_libblock_free_ex(mainvar, id, false, false);
+			BKE_id_free_ex(mainvar, id, free_flag, false);
 #else
 			/* errors freeing ID's can be hard to track down,
 			 * enable this so valgrind will give the line number in its error log */
 			switch (a) {
-				case   0: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   1: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   2: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   3: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   4: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   5: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   6: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   7: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   8: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case   9: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  10: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  11: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  12: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  13: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  14: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  15: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  16: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  17: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  18: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  19: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  20: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  21: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  22: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  23: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  24: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  25: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  26: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  27: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  28: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  29: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  30: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  31: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  32: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  33: BKE_libblock_free_ex(mainvar, id, false, false); break;
-				case  34: BKE_libblock_free_ex(mainvar, id, false, false); break;
+				case   0: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   1: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   2: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   3: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   4: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   5: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   6: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   7: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   8: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case   9: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  10: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  11: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  12: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  13: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  14: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  15: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  16: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  17: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  18: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  19: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  20: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  21: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  22: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  23: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  24: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  25: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  26: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  27: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  28: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  29: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  30: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  31: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  32: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  33: BKE_id_free_ex(mainvar, id, free_flag, false); break;
+				case  34: BKE_id_free_ex(mainvar, id, free_flag, false); break;
 				default:
 					BLI_assert(0);
 					break;
 			}
 #endif
 		}
+		BLI_listbase_clear(lb);
 	}
 
 	if (mainvar->relations) {
diff --git a/source/blender/editors/mesh/meshtools.c b/source/blender/editors/mesh/meshtools.c
index cc49beb17b8..71b63cf3471 100644
--- a/source/blender/editors/mesh/meshtools.c
+++ b/source/blender/editors/mesh/meshtools.c
@@ -580,7 +580,7 @@ int join_mesh_exec(bContext *C, wmOperator *op)
 	/* free temp copy of destination shapekeys (if applicable) */
 	if (nkey) {
 		/* We can assume nobody is using that ID currently. */
-		BKE_libblock_free_ex(bmain, nkey, false, false);
+		BKE_id_free_ex(bmain, nkey, LIB_ID_FREE_NO_UI_USER | LIB_ID_FREE_NO_USER_REFCOUNT, false);
 	}
 
 	/* ensure newly inserted keys are time sorted */
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
index 176193bc65a..a31fb14f849 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
@@ -116,7 +116,7 @@ NodeGroup *BlenderFileLoader::Load()
 
 		if (mesh) {
 			insertShapeNode(ob, mesh, ++id);

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list