[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