[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14524] trunk/blender/source/blender/src/ transform_conversions.c: Added missing redraws for Outliner after transforming and Object/ Bone with AutoKey on.

Joshua Leung aligorith at gmail.com
Wed Apr 23 04:00:30 CEST 2008


Revision: 14524
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14524
Author:   aligorith
Date:     2008-04-23 04:00:27 +0200 (Wed, 23 Apr 2008)

Log Message:
-----------
Added missing redraws for Outliner after transforming and Object/Bone with AutoKey on.

This doesn't fix the problems with the corrupted IPO-driver channels in the Outliner after AutoKeying though. I'm not sure what's causing them, but I cannot even seem to be able to disable those channels.

Modified Paths:
--------------
    trunk/blender/source/blender/src/transform_conversions.c

Modified: trunk/blender/source/blender/src/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/src/transform_conversions.c	2008-04-23 00:48:31 UTC (rev 14523)
+++ trunk/blender/source/blender/src/transform_conversions.c	2008-04-23 02:00:27 UTC (rev 14524)
@@ -3180,9 +3180,10 @@
 void autokeyframe_ob_cb_func(Object *ob, int tmode)
 {
 	IpoCurve *icu;
-	char *actname="";
 	
-	if (autokeyframe_cfra_can_key(ob)) {		
+	if (autokeyframe_cfra_can_key(ob)) {
+		char *actname = NULL;
+		
 		if (ob->ipoflag & OB_ACTION_OB)
 			actname= "Object";
 		
@@ -3260,14 +3261,14 @@
 			}
 		}
 		else {
-			insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_X, 0);
-			insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_Y, 0);
-			insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_Z, 0);
-			
 			insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_X, 0);
 			insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_Y, 0);
 			insertkey(&ob->id, ID_OB, actname, NULL, OB_LOC_Z, 0);
 			
+			insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_X, 0);
+			insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_Y, 0);
+			insertkey(&ob->id, ID_OB, actname, NULL, OB_ROT_Z, 0);
+						
 			insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_X, 0);
 			insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_Y, 0);
 			insertkey(&ob->id, ID_OB, actname, NULL, OB_SIZE_Z, 0);
@@ -3275,6 +3276,7 @@
 		
 		remake_object_ipos(ob);
 		allqueue(REDRAWMARKER, 0);
+		allqueue(REDRAWOOPS, 0);
 	}
 }
 
@@ -3307,7 +3309,7 @@
 					bActionChannel *achan; 
 					
 					for (achan = act->chanbase.first; achan; achan=achan->next) {
-						if (achan->ipo && !strcmp (achan->name, pchan->name)) {
+						if ((achan->ipo) && !strcmp(achan->name, pchan->name)) {
 							for (icu = achan->ipo->curve.first; icu; icu=icu->next) {
 								/* only insert keyframe if needed? */
 								if (IS_AUTOKEY_FLAG(INSERTNEEDED))
@@ -3380,8 +3382,9 @@
 			}
 		}
 		
-		remake_action_ipos (act);
+		remake_action_ipos(act);
 		allqueue(REDRAWMARKER, 0);
+		allqueue(REDRAWOOPS, 0);
 		
 		/* locking can be disabled */
 		ob->pose->flag &= ~(POSE_DO_UNLOCK|POSE_LOCKED);





More information about the Bf-blender-cvs mailing list