The cause was that the information remained in Rows Disabled of Track even though it returned to one Track by the delete operation from the state where there was a child Track of multiple rows.
As a result, the result of Track->IsRowEvalDisabled will be unintended. For example, SSequencerSection :: OnPaint.
As far as I've investigated, the following fix code can solve this issue.
"Engine\Source\Runtime\MovieScene\Public\MovieSceneTrack.h" // add MOVIESCENE_API void ClearRowEvalDisabled(); "Engine\Source\Runtime\MovieScene\Private\MovieSceneTrack.cpp" // add MOVIESCENE_API void UMovieSceneTrack::ClearRowEvalDisabled() { RowsDisabled.Empty(); } "Engine\Source\Editor\Sequencer\Private\DisplayNodes\SequencerTrackNode.cpp" void FSequencerTrackNode::UpdateInnerHierarchy() { ... const int32 MaxRowIndex = Track->GetMaxRowIndex(); if (MaxRowIndex == 0) { // Single row, perhaps with a top level key area if (SubTrackMode != ESubTrackMode::None) { RequestReinitialize(); SubTrackMode = ESubTrackMode::None; // add Track->ClearRowEvalDisabled(); ClearChildren(); } UpdateSections(); } ... }
expect : the remain track is not muted
result : the remain track is muted, and user can't unmute it
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-141270 in the post.
0 |
Component | UE - Anim - Sequencer |
---|---|
Affects Versions | 4.27 |
Target Fix | 5.1 |
Fix Commit | 19373982 |
---|---|
Main Commit | 19402242 |
Created | Feb 4, 2022 |
---|---|
Resolved | Mar 14, 2022 |
Updated | Mar 16, 2022 |