NLA: track extrapolation auto-changes and clear keyframe crashes blender
Closed, ResolvedPublic

Description

Window 7, GTX 770 oc

2.79rc 6af7d7e

Pressing Alt+I while hovering over a strip's Extrapolation value just crashes Blender.
Moving the strip causes the value to switch back to Hold.

In another file, I have a strip that's stuck in Hold Forward. No matter what I do, the tracks will only use Nothing or Hold Forward. If the box and changed to Hold any change (even temp/cancelled), will switch it back to Hold Forward (or None if that was set).

In this new example file, it's the opposite except if the value is set to Hold Forward, it will work and remain that until the strip is moved (temp/cancelled/permanent).

Bastien Montagne (mont29) triaged this task as "Normal" priority.

@Joshua Leung (aligorith) is that kind of settings supposed to be animatable at all?

The Right-Click Menu says no but the hotkey says crash ^_^

.

Joshua Leung (aligorith) raised the priority of this task from "Normal" to "Confirmed".Aug 11 2017, 3:43 PM
¿? (edtion) reopened this task as "Open".EditedAug 11 2017, 4:49 PM

This is actually two different problems.
Part 1 (the keyframe-crash) is/was a secondary concern.

Part 2 is the extrapolation mode (and the reason I tried part 1 in the first place).

Joshua Leung (aligorith) closed this task as "Resolved".Aug 12 2017, 12:37 AM

Without a test file to demonstrate the sitaution where it's "stuck", I can't say for sure what's going on in that case.

However, in general, only the first strip in the timeline for a datablock gets set to Hold, while all others are set to Hold Forward or Nothing. This is done for the following reasons:

  • The very first strip must use Hold or else jumping to a point before that strip will not evaluate the pose, and things will go wonky
  • Strips on which you've manually set Nothing on are left alone. It's assumed that you asked for it in that case
  • Hold Forward is set on all others so that you won't add a new strip at the top of the stack that ends up completely blocking everything that came before.