From 98140e234e6d88dc301a3d8663ef54b56520020f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 19 Aug 2010 05:58:22 +0000 Subject: [PATCH] - pyrna fix for reference counting when unable to register a property - added modified 'Warp' enum to reserve this ID for durian files until the modifier is merged. --- source/blender/makesdna/DNA_modifier_types.h | 3 +++ source/blender/python/intern/bpy_rna.c | 6 ------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 722adba1136..27f9c9cd5f3 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -66,6 +66,9 @@ typedef enum ModifierType { eModifierType_ShapeKey, eModifierType_Solidify, eModifierType_Screw, + /* placeholder, keep this so durian files load in + * trunk with the correct modifier once its merged */ + eModifierType_Warp, NUM_MODIFIER_TYPES } ModifierType; diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index 05ccabe1641..cb5761c5df4 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -4372,7 +4372,6 @@ static int deferred_register_prop(StructRNA *srna, PyObject *item, PyObject *key if(*_PyUnicode_AsString(key)=='_') { PyErr_Format(PyExc_ValueError, "bpy_struct \"%.200s\" registration error: %.200s could not register because the property starts with an '_'\n", RNA_struct_identifier(srna), _PyUnicode_AsString(key)); - Py_DECREF(dummy_args); return -1; } pyfunc = PyCapsule_GetPointer(py_func_ptr, NULL); @@ -4393,8 +4392,6 @@ static int deferred_register_prop(StructRNA *srna, PyObject *item, PyObject *key // PyLineSpit(); PyErr_Format(PyExc_ValueError, "bpy_struct \"%.200s\" registration error: %.200s could not register\n", RNA_struct_identifier(srna), _PyUnicode_AsString(key)); - - Py_DECREF(dummy_args); return -1; } } @@ -4423,9 +4420,6 @@ int pyrna_deferred_register_props(StructRNA *srna, PyObject *class_dict) order= PyDict_GetItemString(class_dict, "order"); - if(order==NULL) - PyErr_Clear(); - if(order && PyList_Check(order)) { for(pos= 0; pos