[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23121] branches/blender2.5/blender: 2.5: Two Bugfixes

Joshua Leung aligorith at gmail.com
Fri Sep 11 11:09:57 CEST 2009


Revision: 23121
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23121
Author:   aligorith
Date:     2009-09-11 11:09:54 +0200 (Fri, 11 Sep 2009)

Log Message:
-----------
2.5: Two Bugfixes

* Mesh Deform modifier now correctly shows Bind/Unbind buttons. Previously, only Bind got shown...

* Selecting keyframes in the Graph Editor using Border Select now allows the keyframes to be editable afterwards. Previously, the curves weren't getting selected afterwards, therefore, the poll operators would skip those curves.

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/buttons_data_modifier.py
    branches/blender2.5/blender/source/blender/editors/space_graph/graph_select.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c

Modified: branches/blender2.5/blender/release/ui/buttons_data_modifier.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_data_modifier.py	2009-09-11 03:00:09 UTC (rev 23120)
+++ branches/blender2.5/blender/release/ui/buttons_data_modifier.py	2009-09-11 09:09:54 UTC (rev 23121)
@@ -242,10 +242,13 @@
 
 		layout.itemS()
 		
-		layout.itemO("object.meshdeform_bind", text="Bind")
-		row = layout.row()
-		row.itemR(md, "precision")
-		row.itemR(md, "dynamic")
+		if md.is_bound:
+			layout.itemO("object.meshdeform_bind", text="Unbind")
+		else:
+			layout.itemO("object.meshdeform_bind", text="Bind")
+			row = layout.row()
+			row.itemR(md, "precision")
+			row.itemR(md, "dynamic")
 		
 	def MIRROR(self, layout, ob, md):
 		layout.itemR(md, "merge_limit")

Modified: branches/blender2.5/blender/source/blender/editors/space_graph/graph_select.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_graph/graph_select.c	2009-09-11 03:00:09 UTC (rev 23120)
+++ branches/blender2.5/blender/source/blender/editors/space_graph/graph_select.c	2009-09-11 09:09:54 UTC (rev 23121)
@@ -234,6 +234,7 @@
 	/* loop over data, doing border select */
 	for (ale= anim_data.first; ale; ale= ale->next) {
 		AnimData *adt= ANIM_nla_mapping_get(ac, ale);
+		FCurve *fcu= (FCurve *)ale->key_data;
 		
 		/* set horizontal range (if applicable) */
 		if (mode != BEZT_OK_VALUERANGE) {
@@ -253,7 +254,13 @@
 		}
 		
 		/* select keyframes that are in the appropriate places */
-		ANIM_fcurve_keys_bezier_loop(&bed, ale->key_data, ok_cb, select_cb, NULL);
+		ANIM_fcurve_keys_bezier_loop(&bed, fcu, ok_cb, select_cb, NULL);
+		
+		/* select the curve too 
+		 * NOTE: this should really only happen if the curve got touched...
+		 */
+		if (selectmode == SELECT_ADD)
+			fcu->flag |= FCURVE_SELECTED;
 	}
 	
 	/* cleanup */

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c	2009-09-11 03:00:09 UTC (rev 23120)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c	2009-09-11 09:09:54 UTC (rev 23121)
@@ -384,6 +384,11 @@
 	modifier_object_set(&((ArrayModifierData*)ptr->data)->curve_ob, OB_CURVE, value);
 }
 
+static int rna_MeshDeformModifier_is_bound_get(PointerRNA *ptr)
+{
+	return (((MeshDeformModifierData*)ptr->data)->bindcos != NULL);
+}
+
 static PointerRNA rna_SoftBodyModifier_settings_get(PointerRNA *ptr)
 {
 	Object *ob= (Object*)ptr->id.data;
@@ -1368,7 +1373,12 @@
 	RNA_def_property_pointer_funcs(prop, NULL, "rna_MeshDeformModifier_object_set", NULL);
 	RNA_def_property_flag(prop, PROP_EDITABLE);
 	RNA_def_property_update(prop, 0, "rna_Modifier_dependency_update");
-
+	
+	prop= RNA_def_property(srna, "is_bound", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_funcs(prop, "rna_MeshDeformModifier_is_bound_get", NULL);
+	RNA_def_property_ui_text(prop, "Bound", "Whether geometry has been bound to control cage.");
+	RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+	
 	prop= RNA_def_property(srna, "invert", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", MOD_MDEF_INVERT_VGROUP);
 	RNA_def_property_ui_text(prop, "Invert", "Invert vertex group influence.");





More information about the Bf-blender-cvs mailing list