Commit: b7dc0346aae849d2ba3f81839a6fd682ff24114a Author: Bastien Montagne Date: Wed Oct 6 16:41:08 2021 +0200 Branches: master https://developer.blender.org/rBb7dc0346aae849d2ba3f81839a6fd682ff24114a
BMain: Add utils to check if a Main is empty or not. Mostly intended for debug code (asserts). =================================================================== M source/blender/blenkernel/BKE_main.h M source/blender/blenkernel/intern/main.c =================================================================== diff --git a/source/blender/blenkernel/BKE_main.h b/source/blender/blenkernel/BKE_main.h index 93d5b5c5aa6..3108dfd5d8f 100644 --- a/source/blender/blenkernel/BKE_main.h +++ b/source/blender/blenkernel/BKE_main.h @@ -201,6 +201,8 @@ typedef struct Main { struct Main *BKE_main_new(void); void BKE_main_free(struct Main *mainvar); +bool BKE_main_is_empty(struct Main *bmain); + void BKE_main_lock(struct Main *bmain); void BKE_main_unlock(struct Main *bmain); diff --git a/source/blender/blenkernel/intern/main.c b/source/blender/blenkernel/intern/main.c index 9c3291edbcc..583feacc04b 100644 --- a/source/blender/blenkernel/intern/main.c +++ b/source/blender/blenkernel/intern/main.c @@ -205,6 +205,17 @@ void BKE_main_free(Main *mainvar) MEM_freeN(mainvar); } +/* Check whether given `bmain` is empty or contains some IDs. */ +bool BKE_main_is_empty(struct Main *bmain) +{ + ID *id_iter; + FOREACH_MAIN_ID_BEGIN (bmain, id_iter) { + return false; + } + FOREACH_MAIN_ID_END; + return true; +} + void BKE_main_lock(struct Main *bmain) { BLI_spin_lock((SpinLock *)bmain->lock); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs