[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20587] branches/blender2.5/blender/source /blender/makesrna/intern: RNA

Brecht Van Lommel brecht at blender.org
Wed Jun 3 01:53:40 CEST 2009


Revision: 20587
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20587
Author:   blendix
Date:     2009-06-03 01:53:40 +0200 (Wed, 03 Jun 2009)

Log Message:
-----------
RNA
* Fix an issue where the pointer types wasn't always refine
  to the most specific type, now RNA_pointer_create also
  does this for convenience.
* Make lamp fallof type editable.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_constraint.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_lamp.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_wm.c

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c	2009-06-02 22:27:47 UTC (rev 20586)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c	2009-06-02 23:53:40 UTC (rev 20587)
@@ -99,6 +99,17 @@
 	r_ptr->id.data= id;
 	r_ptr->type= type;
 	r_ptr->data= data;
+
+	if(data) {
+		while(r_ptr->type && r_ptr->type->refine) {
+			StructRNA *rtype= r_ptr->type->refine(r_ptr);
+
+			if(rtype == r_ptr->type)
+				break;
+			else
+				r_ptr->type= rtype;
+		}
+	}
 }
 
 static void rna_pointer_inherit_id(StructRNA *type, PointerRNA *parent, PointerRNA *ptr)

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_constraint.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_constraint.c	2009-06-02 22:27:47 UTC (rev 20586)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_constraint.c	2009-06-02 23:53:40 UTC (rev 20587)
@@ -1558,4 +1558,5 @@
 	rna_def_constraint_shrinkwrap(brna);
 }
 
-#endif
\ No newline at end of file
+#endif
+

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_lamp.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_lamp.c	2009-06-02 22:27:47 UTC (rev 20586)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_lamp.c	2009-06-02 23:53:40 UTC (rev 20587)
@@ -329,7 +329,6 @@
 		{0, NULL, NULL, NULL}};
 
 	prop= RNA_def_property(srna, "falloff_type", PROP_ENUM, PROP_NONE);
-	RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* needs to be able to create curve mapping */
 	RNA_def_property_enum_items(prop, prop_fallofftype_items);
 	RNA_def_property_ui_text(prop, "Falloff Type", "Intensity Decay with distance.");
 	RNA_def_property_update(prop, NC_LAMP|ND_LIGHTING, NULL);
@@ -653,6 +652,8 @@
 	RNA_def_property_struct_type(prop, "LampSkySettings");
 	RNA_def_property_pointer_funcs(prop, "rna_Lamp_sky_settings_get", NULL);
 	RNA_def_property_ui_text(prop, "Sky Settings", "Sky related settings for sun lamps.");
+
+	rna_def_lamp_sky_settings(brna);
 }
 
 static void rna_def_hemi_lamp(BlenderRNA *brna)
@@ -672,7 +673,6 @@
 	rna_def_spot_lamp(brna);
 	rna_def_sun_lamp(brna);
 	rna_def_hemi_lamp(brna);
-	rna_def_lamp_sky_settings(brna);
 	rna_def_lamp_mtex(brna);
 }
 

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui.c	2009-06-02 22:27:47 UTC (rev 20586)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui.c	2009-06-02 23:53:40 UTC (rev 20587)
@@ -199,7 +199,7 @@
 static StructRNA* rna_Panel_refine(struct PointerRNA *ptr)
 {
 	Panel *hdr= (Panel*)ptr->data;
-	return (hdr->type)? hdr->type->py_srna: &RNA_Panel;
+	return (hdr->type && hdr->type->py_srna)? hdr->type->py_srna: &RNA_Panel;
 }
 
 /* Header */
@@ -290,7 +290,7 @@
 static StructRNA* rna_Header_refine(struct PointerRNA *htr)
 {
 	Header *hdr= (Header*)htr->data;
-	return (hdr->type)? hdr->type->py_srna: &RNA_Header;
+	return (hdr->type && hdr->type->py_srna)? hdr->type->py_srna: &RNA_Header;
 }
 
 /* Menu */
@@ -405,7 +405,7 @@
 static StructRNA* rna_Menu_refine(struct PointerRNA *mtr)
 {
 	Menu *hdr= (Menu*)mtr->data;
-	return (hdr->type)? hdr->type->py_srna: &RNA_Menu;
+	return (hdr->type && hdr->type->py_srna)? hdr->type->py_srna: &RNA_Menu;
 }
 
 static int rna_UILayout_active_get(struct PointerRNA *ptr)

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_wm.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_wm.c	2009-06-02 22:27:47 UTC (rev 20586)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_wm.c	2009-06-02 23:53:40 UTC (rev 20587)
@@ -56,7 +56,7 @@
 	if(op)
 		return op->type->srna;
 	else
-		return &RNA_OperatorProperties;
+		return ptr->type;
 }
 
 IDProperty *rna_OperatorProperties_idproperties(PointerRNA *ptr, int create)





More information about the Bf-blender-cvs mailing list