[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60464] trunk/blender/source/blender/ makesrna: add rna path callback for material slots but disable animation.

Campbell Barton ideasman42 at gmail.com
Tue Oct 1 06:49:48 CEST 2013


Revision: 60464
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60464
Author:   campbellbarton
Date:     2013-10-01 04:49:47 +0000 (Tue, 01 Oct 2013)
Log Message:
-----------
add rna path callback for material slots but disable animation.
without this - the info space would report an invalid rna-path when showing the string to change a value.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/RNA_define.h
    trunk/blender/source/blender/makesrna/intern/rna_define.c
    trunk/blender/source/blender/makesrna/intern/rna_object.c

Modified: trunk/blender/source/blender/makesrna/RNA_define.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_define.h	2013-10-01 03:56:02 UTC (rev 60463)
+++ trunk/blender/source/blender/makesrna/RNA_define.h	2013-10-01 04:49:47 UTC (rev 60464)
@@ -42,8 +42,8 @@
 BlenderRNA *RNA_create(void);
 void RNA_define_free(BlenderRNA *brna);
 void RNA_free(BlenderRNA *brna);
-void RNA_define_verify_sdna(int verify);
-void RNA_define_animate_sdna(int animate);
+void RNA_define_verify_sdna(bool verify);
+void RNA_define_animate_sdna(bool animate);
 
 void RNA_init(void);
 void RNA_exit(void);

Modified: trunk/blender/source/blender/makesrna/intern/rna_define.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_define.c	2013-10-01 03:56:02 UTC (rev 60463)
+++ trunk/blender/source/blender/makesrna/intern/rna_define.c	2013-10-01 04:49:47 UTC (rev 60464)
@@ -574,13 +574,13 @@
 	DefRNA.error = 0;
 }
 
-void RNA_define_verify_sdna(int verify)
+void RNA_define_verify_sdna(bool verify)
 {
 	DefRNA.verify = verify;
 }
 
 #ifndef RNA_RUNTIME
-void RNA_define_animate_sdna(int animate)
+void RNA_define_animate_sdna(bool animate)
 {
 	DefRNA.animate = animate;
 }

Modified: trunk/blender/source/blender/makesrna/intern/rna_object.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_object.c	2013-10-01 03:56:02 UTC (rev 60463)
+++ trunk/blender/source/blender/makesrna/intern/rna_object.c	2013-10-01 04:49:47 UTC (rev 60464)
@@ -908,6 +908,15 @@
 	WM_main_add_notifier(NC_MATERIAL | ND_SHADING_LINKS, NULL);
 }
 
+static char *rna_MaterialSlot_path(PointerRNA *ptr)
+{
+	Object *ob = (Object *)ptr->id.data;
+	int index = (Material **)ptr->data - ob->mat;
+
+	/* from armature... */
+	return BLI_sprintfN("material_slots[%d]", index);
+}
+
 /* why does this have to be so complicated?, can't all this crap be
  * moved to in BGE conversion function? - Campbell *
  *
@@ -1553,6 +1562,8 @@
 	RNA_def_property_ui_text(prop, "Name", "Material slot name");
 	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 	RNA_def_struct_name_property(srna, prop);
+
+	RNA_def_struct_path_func(srna, "rna_MaterialSlot_path");
 }
 
 static void rna_def_object_game_settings(BlenderRNA *brna)
@@ -2766,11 +2777,14 @@
 void RNA_def_object(BlenderRNA *brna)
 {
 	rna_def_object(brna);
+
+	RNA_define_animate_sdna(false);
 	rna_def_object_game_settings(brna);
 	rna_def_object_base(brna);
 	rna_def_vertex_group(brna);
 	rna_def_material_slot(brna);
 	rna_def_dupli_object(brna);
+	RNA_define_animate_sdna(true);
 }
 
 #endif




More information about the Bf-blender-cvs mailing list