Blender  V3.3
Public Attributes | List of all members
BPyPropStore Struct Reference

Public Attributes

struct BPyPropStorenext
 
struct BPyPropStoreprev
 
struct {
   PyObject *   get_fn
 
   PyObject *   set_fn
 
   PyObject *   update_fn
 
   union {
      struct {
         PyObject *   itemf_fn
 
      }   enum_data
 
      struct {
         PyObject *   poll_fn
 
      }   pointer_data
 
      struct {
         PyObject *   search_fn
 
      }   string_data
 
   } 
 
py_data
 

Detailed Description

Store #PyObject data for a dynamically defined property. Currently this is only used to store call-back functions. Properties that don't use custom callbacks won't allocate this struct.

Memory/Reference Management

This struct adds/removes the user-count of each #PyObject it references, it's needed in case the function is removed from the class (unlikely but possible), also when an annotation evaluates to a lambda with Python 3.10 and newer e.g: T86332.

Pointers to this struct are held in:

Decrementing users is handled by:

Definition at line 116 of file bpy_props.c.

Member Data Documentation

◆ 

struct { ... } BPyPropStore::enum_data

◆ get_fn

PyObject* BPyPropStore::get_fn

◆ itemf_fn

PyObject* BPyPropStore::itemf_fn

Wrap: RNA_def_property_enum_funcs_runtime

Definition at line 135 of file bpy_props.c.

Referenced by bpy_prop_callback_assign_enum().

◆ next

struct BPyPropStore* BPyPropStore::next

Definition at line 117 of file bpy_props.c.

◆ 

struct { ... } BPyPropStore::pointer_data

◆ poll_fn

PyObject* BPyPropStore::poll_fn

Wrap: RNA_def_property_poll_runtime

Definition at line 140 of file bpy_props.c.

Referenced by bpy_prop_callback_assign_pointer().

◆ prev

struct BPyPropStore * BPyPropStore::prev

Definition at line 117 of file bpy_props.c.

◆ 

struct { ... } BPyPropStore::py_data

◆ search_fn

PyObject* BPyPropStore::search_fn

◆ set_fn

PyObject* BPyPropStore::set_fn

◆ 

struct { ... } BPyPropStore::string_data

◆ update_fn

PyObject* BPyPropStore::update_fn

The documentation for this struct was generated from the following file: