[Bf-blender-cvs] [612364181ae] blender2.8: Static Override: Fix drivers' ID target overridability.

Bastien Montagne noreply at git.blender.org
Mon May 21 21:15:02 CEST 2018


Commit: 612364181aedd5a945d1c9a4b2aabd61ab228da6
Author: Bastien Montagne
Date:   Mon May 21 21:12:31 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB612364181aedd5a945d1c9a4b2aabd61ab228da6

Static Override: Fix drivers' ID target overridability.

You need the whole chain of pointers... This was breaking static
overrides of any rig basically.

Note that this kills performances again (adding several hundreds of
thousands more stuff on a blendrig...), need a better way to handle RNA
override walking.

===================================================================

M	source/blender/makesrna/intern/rna_animation.c
M	source/blender/makesrna/intern/rna_fcurve.c

===================================================================

diff --git a/source/blender/makesrna/intern/rna_animation.c b/source/blender/makesrna/intern/rna_animation.c
index 6eed4153e0d..84764187b62 100644
--- a/source/blender/makesrna/intern/rna_animation.c
+++ b/source/blender/makesrna/intern/rna_animation.c
@@ -1085,6 +1085,7 @@ static void rna_def_animdata(BlenderRNA *brna)
 	prop = RNA_def_property(srna, "drivers", PROP_COLLECTION, PROP_NONE);
 	RNA_def_property_collection_sdna(prop, NULL, "drivers", NULL);
 	RNA_def_property_struct_type(prop, "FCurve");
+	RNA_def_property_flag(prop, PROP_OVERRIDABLE_STATIC);
 	RNA_def_property_ui_text(prop, "Drivers", "The Drivers/Expressions for this data-block");
 	
 	rna_api_animdata_drivers(brna, prop);
diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c
index 275a7463630..84ed95bb7a9 100644
--- a/source/blender/makesrna/intern/rna_fcurve.c
+++ b/source/blender/makesrna/intern/rna_fcurve.c
@@ -1558,6 +1558,7 @@ static void rna_def_drivervar(BlenderRNA *brna)
 	prop = RNA_def_property(srna, "targets", PROP_COLLECTION, PROP_NONE);
 	RNA_def_property_collection_sdna(prop, NULL, "targets", "num_targets");
 	RNA_def_property_struct_type(prop, "DriverTarget");
+	RNA_def_property_flag(prop, PROP_OVERRIDABLE_STATIC);
 	RNA_def_property_ui_text(prop, "Targets", "Sources of input data for evaluating this variable");
 	
 	/* Name Validity Flags */
@@ -1634,6 +1635,7 @@ static void rna_def_channeldriver(BlenderRNA *brna)
 	prop = RNA_def_property(srna, "variables", PROP_COLLECTION, PROP_NONE);
 	RNA_def_property_collection_sdna(prop, NULL, "variables", NULL);
 	RNA_def_property_struct_type(prop, "DriverVariable");
+	RNA_def_property_flag(prop, PROP_OVERRIDABLE_STATIC);
 	RNA_def_property_ui_text(prop, "Variables", "Properties acting as inputs for this driver");
 	rna_def_channeldriver_variables(brna, prop);
 	
@@ -1918,6 +1920,7 @@ static void rna_def_fcurve(BlenderRNA *brna)
 
 	/* Pointers */
 	prop = RNA_def_property(srna, "driver", PROP_POINTER, PROP_NONE);
+	RNA_def_property_flag(prop, PROP_OVERRIDABLE_STATIC);
 	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 	RNA_def_property_ui_text(prop, "Driver", "Channel Driver (only set for Driver F-Curves)");



More information about the Bf-blender-cvs mailing list