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)


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to