15 #include "RNA_prototypes.h"
22 #define ASSERT_CALLBACKS_INITIALIZED() \
23 BLI_assert_msg(callbacks_initialized, \
24 "Callbacks should be initialized with BKE_callback_global_init() before using " \
25 "the callback system.")
29 const int num_pointers,
37 funcstore->func(bmain, pointers, num_pointers, funcstore->arg);
67 PointerRNA *pointers[2] = {&id_ptr, &depsgraph_ptr};
95 if (funcstore->
alloc) {
112 for (funcstore = lb->
first; funcstore; funcstore = funcstore_next) {
113 funcstore_next = funcstore->
next;
#define BLI_assert_msg(a, msg)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
struct Depsgraph Depsgraph
Read Guarded memory(de)allocation.
void BKE_callback_add(bCallbackFuncStore *funcstore, eCbEvent evt)
void BKE_callback_exec_id_depsgraph(struct Main *bmain, struct ID *id, struct Depsgraph *depsgraph, eCbEvent evt)
static ListBase callback_slots[BKE_CB_EVT_TOT]
void BKE_callback_global_finalize(void)
static bool callbacks_initialized
void BKE_callback_remove(bCallbackFuncStore *funcstore, eCbEvent evt)
void BKE_callback_exec_null(struct Main *bmain, eCbEvent evt)
void BKE_callback_exec_id(struct Main *bmain, struct ID *id, eCbEvent evt)
void BKE_callback_exec(struct Main *bmain, struct PointerRNA **pointers, const int num_pointers, eCbEvent evt)
void BKE_callback_global_init(void)
#define ASSERT_CALLBACKS_INITIALIZED()
const Depsgraph * depsgraph
void(* MEM_freeN)(void *vmemh)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr)
struct bCallbackFuncStore * next