17#include "RNA_prototypes.hh"
23#define ASSERT_CALLBACKS_INITIALIZED() \
24 BLI_assert_msg(callbacks_initialized, \
25 "Callbacks should be initialized with BKE_callback_global_init() before using " \
26 "the callback system.")
35 funcstore->func(bmain, pointers, num_pointers, funcstore->arg);
59 PointerRNA *pointers[2] = {&id_ptr, &depsgraph_ptr};
98 if (funcstore->
alloc) {
116 funcstore = funcstore_next)
118 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)
Read Guarded memory(de)allocation.
void BKE_callback_add(bCallbackFuncStore *funcstore, eCbEvent evt)
void BKE_callback_exec(Main *bmain, PointerRNA **pointers, const int num_pointers, eCbEvent evt)
void BKE_callback_global_finalize()
void BKE_callback_exec_id(Main *bmain, ID *id, eCbEvent evt)
static ListBase callback_slots[BKE_CB_EVT_TOT]
void BKE_callback_exec_string(Main *bmain, eCbEvent evt, const char *str)
static bool callbacks_initialized
void BKE_callback_remove(bCallbackFuncStore *funcstore, eCbEvent evt)
void BKE_callback_exec_null(Main *bmain, eCbEvent evt)
void BKE_callback_global_init()
void BKE_callback_exec_id_depsgraph(Main *bmain, ID *id, Depsgraph *depsgraph, eCbEvent evt)
#define ASSERT_CALLBACKS_INITIALIZED()
const Depsgraph * depsgraph
void MEM_freeN(void *vmemh)
PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data)
PointerRNA RNA_id_pointer_create(ID *id)
bCallbackFuncStore * next