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; return;
} }
auto& sync{ Common::Sync( ) }; auto& sync{ Common::Sync( ) };
auto const* const curve{ sync.getCurve( auto const* const ovr{ selId->isOverride ? sync.getOverride( selId->id ) : nullptr };
selId->isOverride auto const* const curve{ sync.getCurve( ovr ? ovr->inputNames( )[ 0 ] : selId->id ) };
? sync.getOverride( selId->id )->inputNames( )[ 0 ]
: selId->id ) };
// Missing curve // Missing curve
if ( !( curve || selId->isOverride ) ) { if ( !curve ) {
// Remove segment/point selection // Remove segment/point selection
if ( selSegment ) { if ( selSegment ) {
selSegment.clear( ); selSegment.clear( );
selPoint.clear( ); selPoint.clear( );
} }
// If there's no matching input, unselect the track // If there's no matching input, unselect the track
if ( !sync.hasInput( selId->id ) ) { if ( !( ovr || sync.hasInput( selId->id ) ) ) {
selId.clear( ); selId.clear( );
} }
} else { } else {