Cleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.
This commit is contained in:
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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 */
|
||||
|
@@ -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) {
|
||||
|
@@ -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 */
|
||||
|
@@ -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;
|
||||
|
@@ -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 {
|
||||
|
Reference in New Issue
Block a user