diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2019-01-14 18:15:15 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2019-01-15 13:09:16 +0300 |
commit | cae3750ff95ff2c68f666b949ada969613200359 (patch) | |
tree | eab3454882ffa3c8ce331de8533c176aaa822513 /source | |
parent | 6af97b84dfa286fc5c8efb2b0536ed1b87f591b0 (diff) |
Cleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library_override.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library_remap.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/main.c | 80 | ||||
-rw-r--r-- | source/blender/editors/mesh/meshtools.c | 2 | ||||
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_main_api.c | 5 |
7 files changed, 54 insertions, 47 deletions
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); - BKE_libblock_free_ex(_re->main, &mesh->id, true, false); + BKE_id_free_ex(_re->main, &mesh->id, LIB_ID_FREE_NO_UI_USER, true); } } DEG_OBJECT_ITER_END; diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c index 0b521ceb686..3d8768bc7e1 100644 --- a/source/blender/makesrna/intern/rna_main_api.c +++ b/source/blender/makesrna/intern/rna_main_api.c @@ -137,7 +137,10 @@ static void rna_Main_ID_remove( RNA_POINTER_INVALIDATE(id_ptr); } else if (ID_REAL_USERS(id) <= 0) { - BKE_libblock_free_ex(bmain, id, do_id_user, do_ui_user); + const int flag = (do_id_user ? 0 : LIB_ID_FREE_NO_USER_REFCOUNT) | + (do_ui_user ? 0 : LIB_ID_FREE_NO_UI_USER); + /* Still using ID flags here, this is in-between commit anyway... */ + BKE_id_free_ex(bmain, id, flag, true); RNA_POINTER_INVALIDATE(id_ptr); } else { |