[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23358] trunk/blender/source/blender/ editors: 2.5 - 2 Armature Related Crash Fixes

Joshua Leung aligorith at gmail.com
Sun Sep 20 03:36:15 CEST 2009


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

Log Message:
-----------
2.5 - 2 Armature Related Crash Fixes

* #19397: Properties panel (transform panel in 3D-View) crashed when there was no active posechannel. 

* Breakdown/Push/Relax Pose tools crashed when auto-keyframing was enabled. There where 2 main causes here: 1) laziness to try and avoid having to clear some data everytime, 2) a typo for one of the KeyingSet names

Modified Paths:
--------------
    trunk/blender/source/blender/editors/armature/poseSlide.c
    trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c

Modified: trunk/blender/source/blender/editors/armature/poseSlide.c
===================================================================
--- trunk/blender/source/blender/editors/armature/poseSlide.c	2009-09-19 22:11:26 UTC (rev 23357)
+++ trunk/blender/source/blender/editors/armature/poseSlide.c	2009-09-20 01:36:11 UTC (rev 23358)
@@ -219,7 +219,7 @@
 	/* get builtin KeyingSets */
 	pso->ks_loc= ANIM_builtin_keyingset_get_named(NULL, "Location");
 	pso->ks_rot= ANIM_builtin_keyingset_get_named(NULL, "Rotation");
-	pso->ks_scale= ANIM_builtin_keyingset_get_named(NULL, "Scale");
+	pso->ks_scale= ANIM_builtin_keyingset_get_named(NULL, "Scaling");
 	
 	/* return status is whether we've got all the data we were requested to get */
 	return 1;
@@ -393,8 +393,7 @@
 		ListBase dsources = {&cks, &cks};
 		
 		/* init common-key-source for use by KeyingSets */
-		// TODO: for now, we don't clear it out, since it should be safe to do so...
-		//memset(&cks, 0, sizeof(bCommonKeySrc));
+		memset(&cks, 0, sizeof(bCommonKeySrc));
 		cks.id= &pso->ob->id;
 		
 		/* init cks for this PoseChannel, then use the relative KeyingSets to keyframe it */

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c	2009-09-19 22:11:26 UTC (rev 23357)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_buttons.c	2009-09-20 01:36:11 UTC (rev 23358)
@@ -512,6 +512,10 @@
 		if(bone && (bone->flag & BONE_ACTIVE) && (bone->layer & arm->layer))
 			break;
 	}
+	if (!pchan)	{
+		uiDefBut(block, LABEL, 0, "No Bone Active",			0, 240, 100, 20, 0, 0, 0, 0, 0, "");
+		return; 
+	}
 	
 	if (pchan->rotmode == PCHAN_ROT_AXISANGLE) {
 		float quat[4];
@@ -1447,25 +1451,12 @@
 	pt->draw= view3d_panel_transform_spaces;
 	BLI_addtail(&art->paneltypes, pt);
 
-	pt= MEM_callocN(sizeof(PanelType), "spacetype view3d panel gpencil");
-	strcpy(pt->idname, "VIEW3D_PT_gpencil");
-	strcpy(pt->label, "Greas Pencil");
-	pt->draw= view3d_panel_gpencil;
-	BLI_addtail(&art->paneltypes, pt);*/
-
 	pt= MEM_callocN(sizeof(PanelType), "spacetype view3d panel bonesketch spaces");
 	strcpy(pt->idname, "VIEW3D_PT_bonesketch_spaces");
 	strcpy(pt->label, "Bone Sketching");
 	pt->draw= view3d_panel_bonesketch_spaces;
 	pt->poll= view3d_panel_bonesketch_spaces_poll;
 	BLI_addtail(&art->paneltypes, pt);
-
-	/*
-	pt= MEM_callocN(sizeof(PanelType), "spacetype view3d panel redo");
-	strcpy(pt->idname, "VIEW3D_PT_redo");
-	strcpy(pt->label, "Last Operator");
-	pt->draw= view3d_panel_operator_redo;
-	BLI_addtail(&art->paneltypes, pt);
 */
 	// XXX view3d_panel_preview(C, ar, 0);
 }





More information about the Bf-blender-cvs mailing list