diff options
author | Bastien Montagne <bastien@blender.org> | 2022-01-05 12:39:09 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2022-01-05 12:39:09 +0300 |
commit | 33400ffcc9821506eb12d3189d220da6d0d8ba14 (patch) | |
tree | 7a44122bff3bcb8791f1aaa4b2cf39e9e30260a8 /source/blender/blenkernel/intern/lib_id_delete.c | |
parent | 5df916f23f0d742a531136279ca6c126d3fb03b3 (diff) |
IDManagement: Add assert against no-main IDs passed to `BKE_id_delete`.
This high-level function can only deal with IDs in main, trying to use
it to delete/free a no-main ID does nothing.
Diffstat (limited to 'source/blender/blenkernel/intern/lib_id_delete.c')
-rw-r--r-- | source/blender/blenkernel/intern/lib_id_delete.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/lib_id_delete.c b/source/blender/blenkernel/intern/lib_id_delete.c index 1922a54addb..6d2e89187f7 100644 --- a/source/blender/blenkernel/intern/lib_id_delete.c +++ b/source/blender/blenkernel/intern/lib_id_delete.c @@ -350,6 +350,9 @@ static size_t id_delete(Main *bmain, const bool do_tagged_deletion) void BKE_id_delete(Main *bmain, void *idv) { + BLI_assert_msg((((ID *)idv)->tag & LIB_TAG_NO_MAIN) == 0, + "Cannot be used with IDs outside of Main"); + BKE_main_id_tag_all(bmain, LIB_TAG_DOIT, false); ((ID *)idv)->tag |= LIB_TAG_DOIT; |