[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24998] trunk/blender/source/blender: Armature Bugfixes:

Joshua Leung aligorith at gmail.com
Sun Nov 29 06:56:40 CET 2009


Revision: 24998
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24998
Author:   aligorith
Date:     2009-11-29 06:56:39 +0100 (Sun, 29 Nov 2009)

Log Message:
-----------
Armature Bugfixes:

* Bugfix #20136: unclear tool tip for inherit rotation toggle
* Bugfix for Apply Pose as Restpose (Ctrl A in Pose Mode): missing call to free edit-data was causing drawing code to only draw editbones until editmode was entered + toggled
* Added missing notifier for deleting F-Modifiers, so deleting F-Modifiers now updates the view correctly afterwards

Modified Paths:
--------------
    trunk/blender/source/blender/editors/animation/fmodifier_ui.c
    trunk/blender/source/blender/editors/armature/editarmature.c
    trunk/blender/source/blender/makesrna/intern/rna_armature.c
    trunk/blender/source/blender/makesrna/intern/rna_space.c

Modified: trunk/blender/source/blender/editors/animation/fmodifier_ui.c
===================================================================
--- trunk/blender/source/blender/editors/animation/fmodifier_ui.c	2009-11-29 04:52:01 UTC (rev 24997)
+++ trunk/blender/source/blender/editors/animation/fmodifier_ui.c	2009-11-29 05:56:39 UTC (rev 24998)
@@ -119,6 +119,10 @@
 	
 	/* remove the given F-Modifier from the active modifier-stack */
 	remove_fmodifier(modifiers, fcm);
+	
+	/* send notifiers */
+	// XXX for now, this is the only way to get updates in all the right places... but would be nice to have a special one in this case 
+	WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME_EDIT, NULL);
 }
 
 /* --------------- */

Modified: trunk/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- trunk/blender/source/blender/editors/armature/editarmature.c	2009-11-29 04:52:01 UTC (rev 24997)
+++ trunk/blender/source/blender/editors/armature/editarmature.c	2009-11-29 05:56:39 UTC (rev 24998)
@@ -334,7 +334,7 @@
 		memcpy(newBone->head, eBone->head, sizeof(float)*3);
 		memcpy(newBone->tail, eBone->tail, sizeof(float)*3);
 		newBone->flag= eBone->flag;
-
+		
 		if (eBone == arm->act_edbone) {
 			newBone->flag |= BONE_SELECTED;	/* important, editbones can be active with only 1 point selected */
 			arm->act_edbone= NULL;
@@ -353,7 +353,7 @@
 		newBone->rad_tail= eBone->rad_tail;
 		newBone->segments= eBone->segments;
 		newBone->layer = eBone->layer;
-
+		
 		if(eBone->prop)
 			newBone->prop= IDP_CopyProperty(eBone->prop);
 	}
@@ -620,8 +620,9 @@
 		curbone->flag |= BONE_UNKEYED;
 	}
 	
-	/* convert editbones back to bones */
+	/* convert editbones back to bones, and then free the edit-data */
 	ED_armature_from_edit(ob);
+	ED_armature_edit_free(ob);
 	
 	/* flush positions of posebones */
 	where_is_pose(scene, ob);

Modified: trunk/blender/source/blender/makesrna/intern/rna_armature.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_armature.c	2009-11-29 04:52:01 UTC (rev 24997)
+++ trunk/blender/source/blender/makesrna/intern/rna_armature.c	2009-11-29 05:56:39 UTC (rev 24998)
@@ -399,7 +399,7 @@
 	
 	prop= RNA_def_property(srna, "hinge", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", BONE_HINGE);
-	RNA_def_property_ui_text(prop, "Inherit Rotation", "Bone doesn't inherit rotation or scale from parent bone.");
+	RNA_def_property_ui_text(prop, "Inherit Rotation", "Bone inherits rotation or scale from parent bone.");
 	RNA_def_property_update(prop, 0, "rna_Armature_update_data");
 	
 	prop= RNA_def_property(srna, "multiply_vertexgroup_with_envelope", PROP_BOOLEAN, PROP_NONE);

Modified: trunk/blender/source/blender/makesrna/intern/rna_space.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_space.c	2009-11-29 04:52:01 UTC (rev 24997)
+++ trunk/blender/source/blender/makesrna/intern/rna_space.c	2009-11-29 05:56:39 UTC (rev 24998)
@@ -443,6 +443,9 @@
 		/* set action */
 		adt->action= saction->action;
 		id_us_plus(&adt->action->id);
+		
+		/* force depsgraph flush too */
+		DAG_id_flush_update(&obact->id, OB_RECALC_OB|OB_RECALC_DATA);
 	}
 }
 
@@ -1212,7 +1215,7 @@
 	RNA_def_property_flag(prop, PROP_EDITABLE);
 	RNA_def_property_pointer_funcs(prop, NULL, "rna_SpaceDopeSheetEditor_action_set", NULL);
 	RNA_def_property_ui_text(prop, "Action", "Action displayed and edited in this space.");
-	RNA_def_property_update(prop, NC_SPACE|ND_SPACE_DOPESHEET, "rna_SpaceDopeSheetEditor_action_update");
+	RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_EDIT, "rna_SpaceDopeSheetEditor_action_update");
 	
 	/* mode */
 	prop= RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE);





More information about the Bf-blender-cvs mailing list