RNA: ID properties were not being shown as RNA properties anymore, fixed.
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Wed, 20 May 2009 09:17:21 +0000 (09:17 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Wed, 20 May 2009 09:17:21 +0000 (09:17 +0000)
Python: fix two warnings (initialize to NULL).

source/blender/makesrna/RNA_types.h
source/blender/makesrna/intern/rna_rna.c
source/blender/python/intern/bpy_operator_wrap.c
source/blender/python/intern/bpy_rna.c

index 69d9a6db7ce699602854b381cc56692b3fc55be7..0a8836327c35d7149b7d9909f936f25e1dda1baf 100644 (file)
@@ -109,6 +109,7 @@ typedef enum PropertyFlag {
 typedef struct CollectionPropertyIterator {
        /* internal */
        PointerRNA parent;
+       PointerRNA builtin_parent;
        struct PropertyRNA *prop;
        void *internal;
        int idprop;
index f7039d9c756e1a99bd0067910870d24dfb66e3e5..f52e27686bb0a0215d46c763c41c77e1e275edc3 100644 (file)
@@ -87,7 +87,7 @@ static int rna_idproperty_known(CollectionPropertyIterator *iter, void *data)
 {
        IDProperty *idprop= (IDProperty*)data;
        PropertyRNA *prop;
-       StructRNA *ptype= iter->parent.type;
+       StructRNA *ptype= iter->builtin_parent.type;
 
        /* function to skip any id properties that are already known by RNA,
         * for the second loop where we go over unknown id properties */
@@ -177,7 +177,7 @@ static void rna_Struct_properties_next(CollectionPropertyIterator *iter)
 
                /* try id properties */
                if(!iter->valid) {
-                       group= rna_idproperties_get(&iter->parent, 0);
+                       group= rna_idproperties_get(&iter->builtin_parent, 0);
 
                        if(group) {
                                rna_iterator_listbase_end(iter);
@@ -243,7 +243,7 @@ static PointerRNA rna_Struct_functions_get(CollectionPropertyIterator *iter)
 }
 
 /* Builtin properties iterator re-uses the Struct properties iterator, only
- * difference is that we need to see the ptr data to the type of the struct
+ * difference is that we need to set the ptr data to the type of the struct
  * whose properties we want to iterate over. */
 
 void rna_builtin_properties_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
@@ -260,6 +260,7 @@ void rna_builtin_properties_begin(CollectionPropertyIterator *iter, PointerRNA *
                newptr.id.data= NULL;
 
        iter->parent= newptr;
+       iter->builtin_parent = *ptr;
 
        rna_Struct_properties_begin(iter, &newptr);
 }
index 4fa72fe18bc4ce4d114af8eb601a868bb92e9b01..43d62b3005fd84329503cae26dee1f870ada5afd 100644 (file)
@@ -187,7 +187,7 @@ static int PYTHON_OT_generic(int mode, bContext *C, wmOperator *op, wmEvent *eve
 {
        PyObject *py_class = op->type->pyop_data;
        PyObject *args;
-       PyObject *ret= NULL, *py_class_instance, *item;
+       PyObject *ret= NULL, *py_class_instance, *item= NULL;
        int ret_flag= (mode==PYOP_POLL ? 0:OPERATOR_CANCELLED);
 
        PyGILState_STATE gilstate = PyGILState_Ensure();
index 3274a2ba28426915ac63a337a7a7c8340e8f005d..f1aa5e8fdfe975b31ef12ed27ab72a6306081a38 100644 (file)
@@ -1092,6 +1092,7 @@ PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *data)
                case PROP_COLLECTION:
                        /* XXX not supported yet
                         * ret = pyrna_prop_CreatePyObject(ptr, prop); */
+                       ret = NULL;
                        break;
                default:
                        PyErr_Format(PyExc_AttributeError, "RNA Error: unknown type \"%d\" (pyrna_param_to_py)", type);