mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-09 16:41:14 +02:00
Bug 367 (P2) - fix regression where tracks could not be dragged in normal (non-sync) mode under certain conditions
This commit is contained in:
parent
2ea3fd6553
commit
2b44e117bf
@ -7555,18 +7555,7 @@ bool TrackPanel::MoveClipToTrack(WaveClip *clip,
|
||||
|
||||
// Get the second track of two stereo tracks
|
||||
src2 = (WaveTrack*)mTracks->GetLink(src);
|
||||
if (clip2 && !src2) {
|
||||
// if we are copying two mono linked tracks we have to ask for it differently
|
||||
src2 = (WaveTrack*)mTracks->GetNext(src, false);
|
||||
if (src2 && src2->GetKind() != Track::Wave)
|
||||
src2 = NULL;
|
||||
}
|
||||
dst2 = (WaveTrack*)mTracks->GetLink(dst);
|
||||
if (clip2 && !dst2) {
|
||||
dst2 = (WaveTrack*)mTracks->GetNext(dst, false);
|
||||
if (dst2 && dst2->GetKind() != Track::Wave)
|
||||
dst2 = NULL;
|
||||
}
|
||||
|
||||
if ((src2 && !dst2) || (dst2 && !src2))
|
||||
return false; // cannot move stereo- to mono track or other way around
|
||||
@ -7575,6 +7564,28 @@ bool TrackPanel::MoveClipToTrack(WaveClip *clip,
|
||||
return false;
|
||||
|
||||
if (clip2) {
|
||||
// linking can cause pairs of mono tracks to get here.
|
||||
// allow this case (both these won't have links)
|
||||
if ((!src2 && !dst2) && (dst2 || src2))
|
||||
return false;
|
||||
|
||||
if (!src2) {
|
||||
// if we are copying two mono linked tracks we have to ask for it differently
|
||||
src2 = (WaveTrack*)mTracks->GetNext(src, false);
|
||||
if (src2 && src2->GetKind() != Track::Wave)
|
||||
src2 = NULL;
|
||||
}
|
||||
if (!dst2) {
|
||||
dst2 = (WaveTrack*)mTracks->GetNext(dst, false);
|
||||
if (dst2 && dst2->GetKind() != Track::Wave)
|
||||
dst2 = NULL;
|
||||
}
|
||||
|
||||
// we should have a source and dest track
|
||||
if (!dst2 || !src2)
|
||||
return false;
|
||||
|
||||
|
||||
if (!dst2->CanInsertClip(clip2))
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user