RNA: some fixes for yesterdays commit, use of uninitialized
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Tue, 3 Feb 2009 10:14:29 +0000 (10:14 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Tue, 3 Feb 2009 10:14:29 +0000 (10:14 +0000)
variables and errors in foreach macro.

source/blender/makesrna/intern/makesrna.c
source/blender/makesrna/intern/rna_action.c
source/blender/makesrna/intern/rna_armature.c
source/blender/makesrna/intern/rna_object.c
source/blender/makesrna/intern/rna_scene.c

index e2ef25f178ece25ba8c3b4bcf07c2cf7a8f57d9b..84f4462dabe24960f8be05443ca48cf5b62609d9 100644 (file)
@@ -830,6 +830,12 @@ static void rna_def_property_funcs_header(FILE *f, PropertyDefRNA *dp)
                        break;
                }
                case PROP_STRING: {
+                       StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
+
+                       if(sprop->maxlength) {
+                               fprintf(f, "#define %s_%s_MAX %d\n\n", srna->identifier, prop->identifier, sprop->maxlength);
+                       }
+                       
                        fprintf(f, "void %sget(PointerRNA *ptr, char *value);\n", func);
                        fprintf(f, "int %slength(PointerRNA *ptr);\n", func);
                        //fprintf(f, "void %sset(PointerRNA *ptr, const char *value);\n", func);
@@ -1340,20 +1346,23 @@ static void rna_generate_header(BlenderRNA *brna, FILE *f)
        PropertyDefRNA *dp;
        StructRNA *srna;
 
-       fprintf(f, "\n/* Automatically generated function declarations for the Data API.\n"
+       fprintf(f, "\n#ifndef __RNA_BLENDER_H__\n");
+       fprintf(f, "#define __RNA_BLENDER_H__\n\n");
+
+       fprintf(f, "/* Automatically generated function declarations for the Data API.\n"
                     "   Do not edit manually, changes will be overwritten.              */\n\n");
 
        fprintf(f, "#include \"RNA_types.h\"\n\n");
 
-       fprintf(f, "#define FOREACH_BEGIN(property, ptr, itemptr) \\\n");
+       fprintf(f, "#define FOREACH_BEGIN(property, sptr, itemptr) \\\n");
        fprintf(f, "    { \\\n");
-       fprintf(f, "            CollectionPropertyIterator itemptr##_macro_iter; \\\n");
-       fprintf(f, "            for(property##_begin(sptr, propname, &itemptr##_macro_iter); itemptr##_macro_iter.valid; property##_end(&itemptr##_macro_iter)) { \\\n");
-       fprintf(f, "                    PointerRNA itemptr= itemptr##_macro_iter.ptr;\n\n");
+       fprintf(f, "            CollectionPropertyIterator rna_macro_iter; \\\n");
+       fprintf(f, "            for(property##_begin(&rna_macro_iter, sptr); rna_macro_iter.valid; property##_next(&rna_macro_iter)) { \\\n");
+       fprintf(f, "                    itemptr= rna_macro_iter.ptr;\n\n");
 
-       fprintf(f, "#define FOREACH_END \\\n");
+       fprintf(f, "#define FOREACH_END(property) \\\n");
        fprintf(f, "            } \\\n");
-       fprintf(f, "            property##__end(&itemptr##_macro_iter); \\\n");
+       fprintf(f, "            property##_end(&rna_macro_iter); \\\n");
        fprintf(f, "    }\n\n");
 
        for(ds=DefRNA.structs.first; ds; ds=ds->next) {
@@ -1370,6 +1379,8 @@ static void rna_generate_header(BlenderRNA *brna, FILE *f)
                for(dp=ds->properties.first; dp; dp=dp->next)
                        rna_def_property_funcs_header(f, dp);
        }
+
+       fprintf(f, "#endif /* __RNA_BLENDER_H__ */\n");
 }
 
 static void make_bad_file(char *file)
index c8f2254edd50910d6228c405e0f6dd20b1eebea8..5143160c69ee02bdb4d079f97640d5a334e49f31 100755 (executable)
@@ -57,6 +57,7 @@ static int rna_Driver_RnaPath_length(PointerRNA *ptr)
                return 0;
 }
 
+#if 0
 static void rna_Driver_RnaPath_set(PointerRNA *ptr, const char *value)
 {
        ChannelDriver *driver= (ChannelDriver *)ptr->data;
@@ -69,7 +70,7 @@ static void rna_Driver_RnaPath_set(PointerRNA *ptr, const char *value)
        else 
                driver->rna_path= NULL;
 }
-
+#endif
 
 static void rna_FCurve_RnaPath_get(PointerRNA *ptr, char *value)
 {
@@ -91,6 +92,7 @@ static int rna_FCurve_RnaPath_length(PointerRNA *ptr)
                return 0;
 }
 
+#if 0
 static void rna_FCurve_RnaPath_set(PointerRNA *ptr, const char *value)
 {
        FCurve *fcu= (FCurve *)ptr->data;
@@ -103,6 +105,7 @@ static void rna_FCurve_RnaPath_set(PointerRNA *ptr, const char *value)
        else 
                fcu->rna_path= NULL;
 }
+#endif
 
 #else
 
index f2b25dd44db3305b8cec5819a00b1f5cb64dd93e..5c5457ceb849ef4663ff5b1f7511bbd318d24a5d 100644 (file)
@@ -37,7 +37,7 @@
 static void rna_Bone_layer_set(PointerRNA *ptr, const int *values)
 {
        Bone *bone= (Bone*)ptr->data;
-       int i, tot;
+       int i, tot= 0;
 
        /* ensure we always have some layer selected */
        for(i=0; i<20; i++)
@@ -56,7 +56,7 @@ static void rna_Bone_layer_set(PointerRNA *ptr, const int *values)
 static void rna_Armature_layer_set(PointerRNA *ptr, const int *values)
 {
        bArmature *arm= (bArmature*)ptr->data;
-       int i, tot;
+       int i, tot= 0;
 
        /* ensure we always have some layer selected */
        for(i=0; i<20; i++)
index f97249870a4fef1baf60032db7f4f717fd4c7fc2..2907658b17e28113815cfc4988272ccb5652bb44 100644 (file)
@@ -204,7 +204,7 @@ static PointerRNA rna_Object_game_settings_get(PointerRNA *ptr)
 static void rna_Object_layer_set(PointerRNA *ptr, const int *values)
 {
        Object *ob= (Object*)ptr->data;
-       int i, tot;
+       int i, tot= 0;
 
        /* ensure we always have some layer selected */
        for(i=0; i<20; i++)
@@ -223,7 +223,7 @@ static void rna_Object_layer_set(PointerRNA *ptr, const int *values)
 static void rna_GameObjectSettings_state_set(PointerRNA *ptr, const int *values)
 {
        Object *ob= (Object*)ptr->data;
-       int i, tot;
+       int i, tot= 0;
 
        /* ensure we always have some stateer selected */
        for(i=0; i<20; i++)
index e383d24632a9a87b29685a7c18395730710dffd1..6b66b283f36202295b26c2da584e9d50c6d42419 100644 (file)
@@ -49,7 +49,7 @@ PointerRNA rna_Scene_objects_get(CollectionPropertyIterator *iter)
 static void rna_Scene_layer_set(PointerRNA *ptr, const int *values)
 {
        Scene *scene= (Scene*)ptr->data;
-       int i, tot;
+       int i, tot= 0;
 
        /* ensure we always have some layer selected */
        for(i=0; i<20; i++)