[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35515] trunk/blender/source/blender/ makesrna: RNA: use a different method to set DNA types for BlendData* collections, to

Brecht Van Lommel brechtvanlommel at pandora.be
Sun Mar 13 14:01:03 CET 2011


Revision: 35515
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35515
Author:   blendix
Date:     2011-03-13 13:01:02 +0000 (Sun, 13 Mar 2011)
Log Message:
-----------
RNA: use a different method to set DNA types for BlendData* collections, to
solve issues with c++ api.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/RNA_types.h
    trunk/blender/source/blender/makesrna/intern/rna_main_api.c

Modified: trunk/blender/source/blender/makesrna/RNA_types.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_types.h	2011-03-13 12:26:53 UTC (rev 35514)
+++ trunk/blender/source/blender/makesrna/RNA_types.h	2011-03-13 13:01:02 UTC (rev 35515)
@@ -353,34 +353,6 @@
 	
 } ExtensionRNA;
 
-/* fake struct definitions, needed otherwise collections end up owning the C
- * structs like 'Object' when defined first */
-#define BlendDataActions		Main
-#define BlendDataArmatures		Main
-#define BlendDataBrushes		Main
-#define BlendDataCameras		Main
-#define BlendDataCurves		Main
-#define BlendDataFonts		Main
-#define BlendDataGreasePencils	Main
-#define BlendDataGroups		Main
-#define BlendDataImages		Main
-#define BlendDataLamps		Main
-#define BlendDataLattices		Main
-#define BlendDataLibraries		Main
-#define BlendDataMaterials		Main
-#define BlendDataMeshes		Main
-#define BlendDataMetaBalls		Main
-#define BlendDataNodeTrees		Main
-#define BlendDataObjects		Main
-#define BlendDataParticles		Main
-#define BlendDataScenes		Main
-#define BlendDataScreens		Main
-#define BlendDataSounds		Main
-#define BlendDataTexts		Main
-#define BlendDataTextures		Main
-#define BlendDataWindowManagers	Main
-#define BlendDataWorlds		Main
-
 #ifdef __cplusplus
 }
 #endif

Modified: trunk/blender/source/blender/makesrna/intern/rna_main_api.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_main_api.c	2011-03-13 12:26:53 UTC (rev 35514)
+++ trunk/blender/source/blender/makesrna/intern/rna_main_api.c	2011-03-13 13:01:02 UTC (rev 35515)
@@ -537,6 +537,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataCameras");
 	srna= RNA_def_struct(brna, "BlendDataCameras", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Cameras", "Collection of cameras");
 
 	func= RNA_def_function(srna, "new", "rna_Main_cameras_new");
@@ -566,6 +567,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataScenes");
 	srna= RNA_def_struct(brna, "BlendDataScenes", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Scenes", "Collection of scenes");
 
 	func= RNA_def_function(srna, "new", "rna_Main_scenes_new");
@@ -591,6 +593,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataObjects");
 	srna= RNA_def_struct(brna, "BlendDataObjects", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Objects", "Collection of objects");
 
 	func= RNA_def_function(srna, "new", "rna_Main_objects_new");
@@ -624,6 +627,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataMaterials");
 	srna= RNA_def_struct(brna, "BlendDataMaterials", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Material", "Collection of materials");
 
 	func= RNA_def_function(srna, "new", "rna_Main_materials_new");
@@ -658,6 +662,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataNodeTrees");
 	srna= RNA_def_struct(brna, "BlendDataNodeTrees", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Node Trees", "Collection of node trees");
 
 	func= RNA_def_function(srna, "new", "rna_Main_nodetree_new");
@@ -688,6 +693,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataMeshes");
 	srna= RNA_def_struct(brna, "BlendDataMeshes", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Meshes", "Collection of meshes");
 
 	func= RNA_def_function(srna, "new", "rna_Main_meshes_new");
@@ -716,6 +722,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataLamps");
 	srna= RNA_def_struct(brna, "BlendDataLamps", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Lamps", "Collection of lamps");
 
 	func= RNA_def_function(srna, "new", "rna_Main_lamps_new");
@@ -747,6 +754,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataLibraries");
 	srna= RNA_def_struct(brna, "BlendDataLibraries", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Libraries", "Collection of libraries");
 
 	func= RNA_def_function(srna, "tag", "rna_Main_libraries_tag");
@@ -762,6 +770,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataScreens");
 	srna= RNA_def_struct(brna, "BlendDataScreens", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Screens", "Collection of screens");
 
 	func= RNA_def_function(srna, "tag", "rna_Main_screens_tag");
@@ -777,6 +786,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataWindowManagers");
 	srna= RNA_def_struct(brna, "BlendDataWindowManagers", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Window Managers", "Collection of window managers");
 
 	func= RNA_def_function(srna, "tag", "rna_Main_window_managers_tag");
@@ -791,6 +801,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataImages");
 	srna= RNA_def_struct(brna, "BlendDataImages", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Images", "Collection of images");
 
 	func= RNA_def_function(srna, "new", "rna_Main_images_new");
@@ -835,6 +846,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataLattices");
 	srna= RNA_def_struct(brna, "BlendDataLattices", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Lattices", "Collection of lattices");
 
 	func= RNA_def_function(srna, "new", "rna_Main_lattices_new");
@@ -863,6 +875,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataCurves");
 	srna= RNA_def_struct(brna, "BlendDataCurves", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Curves", "Collection of curves");
 
 	func= RNA_def_function(srna, "new", "rna_Main_curves_new");
@@ -893,6 +906,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataMetaBalls");
 	srna= RNA_def_struct(brna, "BlendDataMetaBalls", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main MetaBall", "Collection of metaballs");
 
 	func= RNA_def_function(srna, "new", "rna_Main_metaballs_new");
@@ -921,6 +935,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataFonts");
 	srna= RNA_def_struct(brna, "BlendDataFonts", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Fonts", "Collection of fonts");
 
 	func= RNA_def_function(srna, "load", "rna_Main_fonts_load");
@@ -950,6 +965,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataTextures");
 	srna= RNA_def_struct(brna, "BlendDataTextures", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Textures", "Collection of groups");
 
 	func= RNA_def_function(srna, "new", "rna_Main_textures_new");
@@ -980,6 +996,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataBrushes");
 	srna= RNA_def_struct(brna, "BlendDataBrushes", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Brushes", "Collection of brushes");
 
 	func= RNA_def_function(srna, "new", "rna_Main_brushes_new");
@@ -1009,6 +1026,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataWorlds");
 	srna= RNA_def_struct(brna, "BlendDataWorlds", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Worlds", "Collection of worlds");
 
 	func= RNA_def_function(srna, "new", "rna_Main_worlds_new");
@@ -1038,6 +1056,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataGroups");
 	srna= RNA_def_struct(brna, "BlendDataGroups", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Groups", "Collection of groups");
 
 	func= RNA_def_function(srna, "new", "rna_Main_groups_new");
@@ -1065,6 +1084,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataTexts");
 	srna= RNA_def_struct(brna, "BlendDataTexts", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Texts", "Collection of texts");
 
 	func= RNA_def_function(srna, "new", "rna_Main_texts_new");
@@ -1103,6 +1123,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataSounds");
 	srna= RNA_def_struct(brna, "BlendDataSounds", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Sounds", "Collection of sounds");
 
 	/* TODO, 'load' */
@@ -1120,6 +1141,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataArmatures");
 	srna= RNA_def_struct(brna, "BlendDataArmatures", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Armatures", "Collection of armatures");
 
 	func= RNA_def_function(srna, "new", "rna_Main_armatures_new");
@@ -1148,6 +1170,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataActions");
 	srna= RNA_def_struct(brna, "BlendDataActions", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Actions", "Collection of actions");
 
 	func= RNA_def_function(srna, "new", "rna_Main_actions_new");
@@ -1176,6 +1199,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataParticles");
 	srna= RNA_def_struct(brna, "BlendDataParticles", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Particle Settings", "Collection of particle settings");
 
 	func= RNA_def_function(srna, "new", "rna_Main_particles_new");
@@ -1205,6 +1229,7 @@
 
 	RNA_def_property_srna(cprop, "BlendDataGreasePencils");
 	srna= RNA_def_struct(brna, "BlendDataGreasePencils", NULL);
+	RNA_def_struct_sdna(srna, "Main");
 	RNA_def_struct_ui_text(srna, "Main Grease Pencils", "Collection of grease pencils");
 
 	func= RNA_def_function(srna, "tag", "rna_Main_gpencil_tag");




More information about the Bf-blender-cvs mailing list