Sequencer - Fixed a crash on override track clearing

This commit is contained in:
Emmanuel BENOîT 2017-11-30 13:52:50 +01:00
parent 7f6db48a61
commit 3939a9e560

View file

@ -603,20 +603,18 @@ void T_SyncViewImpl_::checkSelection( ) noexcept
return;
}
auto& sync{ Common::Sync( ) };
auto const* const curve{ sync.getCurve(
selId->isOverride
? sync.getOverride( selId->id )->inputNames( )[ 0 ]
: selId->id ) };
auto const* const ovr{ selId->isOverride ? sync.getOverride( selId->id ) : nullptr };
auto const* const curve{ sync.getCurve( ovr ? ovr->inputNames( )[ 0 ] : selId->id ) };
// Missing curve
if ( !( curve || selId->isOverride ) ) {
if ( !curve ) {
// Remove segment/point selection
if ( selSegment ) {
selSegment.clear( );
selPoint.clear( );
}
// If there's no matching input, unselect the track
if ( !sync.hasInput( selId->id ) ) {
if ( !( ovr || sync.hasInput( selId->id ) ) ) {
selId.clear( );
}
} else {