[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23819] trunk/blender: Bugfix: Automerge keyframes was broken - the function call to perform the merging was commented out

Joshua Leung aligorith at gmail.com
Wed Oct 14 04:19:10 CEST 2009


Revision: 23819
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23819
Author:   aligorith
Date:     2009-10-14 04:18:59 +0200 (Wed, 14 Oct 2009)

Log Message:
-----------
Bugfix: Automerge keyframes was broken - the function call to perform the merging was commented out

Modified Paths:
--------------
    trunk/blender/source/blender/editors/transform/transform_conversions.c

Property Changed:
----------------
    trunk/blender/


Property changes on: trunk/blender
___________________________________________________________________
Name: svn:ignore
   - *.pdb
.*
TAGS
build
cscope.out
install
mingw
mingw-user-config.py
msvc
msvc-user-config.py
obj
sgc.bat
smc.bat
ssenv.bat
tags
user-config.py
user-def.mk

   + *.pdb
.*
TAGS
build
cscope.out
install
mingw
mingw-user-config.py
mingw-user-config_debug.py
msvc
msvc-user-config.py
obj
sgc.bat
sgd.bat
smc.bat
ssenv.bat
tags
user-config.py
user-def.mk


Modified: trunk/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_conversions.c	2009-10-14 00:01:34 UTC (rev 23818)
+++ trunk/blender/source/blender/editors/transform/transform_conversions.c	2009-10-14 02:18:59 UTC (rev 23819)
@@ -2890,7 +2890,7 @@
 	/*	Loop 1: find selected keyframes   */
 	for (i = 0; i < fcu->totvert; i++) {
 		BezTriple *bezt= &fcu->bezt[i];
-
+		
 		if (BEZSELECTED(bezt)) {
 			selcache[index]= bezt->vec[1][0];
 			index++;
@@ -2898,16 +2898,18 @@
 		}
 	}
 
-	/* Loop 2: delete unselected keyframes on the same frames (if any keyframes were found) */
-	if (len) {
+	/* Loop 2: delete unselected keyframes on the same frames 
+	 * (if any keyframes were found, or the whole curve wasn't affected) 
+	 */
+	if ((len) && (len != fcu->totvert)) {
 		for (i = 0; i < fcu->totvert; i++) {
 			BezTriple *bezt= &fcu->bezt[i];
-
+			
 			if (BEZSELECTED(bezt) == 0) {
 				/* check beztriple should be removed according to cache */
 				for (index= 0; index < len; index++) {
 					if (IS_EQ(bezt->vec[1][0], selcache[index])) {
-						//delete_icu_key(icu, i, 0);
+						delete_fcurve_key(fcu, i, 0);
 						break;
 					}
 					else if (bezt->vec[1][0] > selcache[index])
@@ -2915,7 +2917,7 @@
 				}
 			}
 		}
-
+		
 		testhandles_fcurve(fcu);
 	}
 
@@ -4561,6 +4563,8 @@
 		if (ANIM_animdata_context_getdata(&ac) == 0)
 			return;
 		
+		printf("automerge dopesheet keys \n");
+		
 		if (ac.datatype == ANIMCONT_DOPESHEET) {
 			ListBase anim_data = {NULL, NULL};
 			bAnimListElem *ale;
@@ -4577,6 +4581,7 @@
 				if ( (saction->flag & SACTION_NOTRANSKEYCULL)==0 &&
 				     ((cancelled == 0) || (duplicate)) )
 				{
+					printf("\tdo fcurve clean \n");
 					if (adt) {
 						ANIM_nla_mapping_apply_fcurve(adt, fcu, 0, 1);
 						posttrans_fcurve_clean(fcu);





More information about the Bf-blender-cvs mailing list