Py/RNA API: WITH_PYTHON_SAFETY

compile time option which enables extra safety checks.
since this is noticeably slower I rather not enable by default yet.
This commit is contained in:
2011-03-03 12:00:35 +00:00
parent c7dc8ddf7d
commit e8c322ee85
5 changed files with 43 additions and 16 deletions

View File

@@ -29,23 +29,31 @@
#ifndef BPY_RNA_H
#define BPY_RNA_H
/* --- bpy build options --- */
#ifdef WITH_PYTHON_SAFETY
/* play it safe and keep optional for now, need to test further now this affects looping on 10000's of verts for eg. */
// #define USE_WEAKREFS
#define USE_WEAKREFS
/* method to invalidate removed py data, XXX, slow to remove objects, otherwise no overhead */
//#define USE_PYRNA_INVALIDATE_GC
/* #define USE_PYRNA_INVALIDATE_GC */
/* different method */
//#define USE_PYRNA_INVALIDATE_WEAKREF
#define USE_PYRNA_INVALIDATE_WEAKREF
/* support for inter references, currently only needed for corner case */
// #define USE_PYRNA_STRUCT_REFERENCE
#define USE_PYRNA_STRUCT_REFERENCE
/* use real collection iterators rather then faking with a list */
#define USE_PYRNA_ITER
#else /* WITH_PYTHON_SAFETY */
/* default, no defines! */
#endif /* !WITH_PYTHON_SAFETY */
/* sanity checks on above defs */
#if defined(USE_PYRNA_INVALIDATE_WEAKREF) && !defined(USE_WEAKREFS)
#define USE_WEAKREFS