[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43597] trunk/blender/source/blender/ blenkernel/intern/nla.c: Bugfix [#29869] NLA editor keeps resetting my extrapolation mode every time I

Joshua Leung aligorith at gmail.com
Sun Jan 22 05:39:45 CET 2012


Revision: 43597
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43597
Author:   aligorith
Date:     2012-01-22 04:39:33 +0000 (Sun, 22 Jan 2012)
Log Message:
-----------
Bugfix [#29869] NLA editor keeps resetting my extrapolation mode every time I
edit a strip in the timeline

Tweaked the behaviour of the overwritting of extrapolation mode so that it is
less destructive when the problems it sets out to fix aren't likely to occur
(namely a top strip blocking everything below it due to extend backwards).

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/nla.c

Modified: trunk/blender/source/blender/blenkernel/intern/nla.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/nla.c	2012-01-22 04:30:52 UTC (rev 43596)
+++ trunk/blender/source/blender/blenkernel/intern/nla.c	2012-01-22 04:39:33 UTC (rev 43597)
@@ -1448,9 +1448,17 @@
 			 */
 			// TODO: 1 solution is to tie this in with auto-blending...
 			if (strip->extendmode != NLASTRIP_EXTEND_NOTHING) {
+				/* 1) First strip must be set to extend hold, otherwise, stuff before acts dodgy
+				 * 2) Only overwrite extend mode if *not* changing it will most probably result in 
+				 * occlusion problems, which will occur iff
+				 *	- blendmode = REPLACE
+				 *	- all channels the same (this is fiddly to test, so is currently assumed)
+				 *
+				 * Should fix problems such as [#29869]
+				 */
 				if (strip == fstrip)
 					strip->extendmode= NLASTRIP_EXTEND_HOLD;
-				else
+				else if (strip->blendmode == NLASTRIP_MODE_REPLACE)
 					strip->extendmode= NLASTRIP_EXTEND_HOLD_FORWARD;
 			}
 		}



More information about the Bf-blender-cvs mailing list