From 5e77d71687ca4a851c48592ecaee77e4802ce560 Mon Sep 17 00:00:00 2001 From: Paul Licameli <paul.licameli@audacityteam.org> Date: Tue, 25 Jul 2023 08:51:10 -0400 Subject: [PATCH] Fix crash in noise reduction --- src/effects/NoiseReduction.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/effects/NoiseReduction.cpp b/src/effects/NoiseReduction.cpp index 3b769bcdb6..d490f263e0 100644 --- a/src/effects/NoiseReduction.cpp +++ b/src/effects/NoiseReduction.cpp @@ -741,14 +741,18 @@ bool EffectNoiseReduction::Worker::Process( if (!TrackSpectrumTransformer::Process( Processor, pChannel, mHistoryLen, start, len)) return false; - tempList->Add(mOutputTrack); - assert(mOutputTrack->IsLeader() == pChannel->IsLeader()); - mOutputTrack.reset(); + if (mOutputTrack) { + tempList->Add(mOutputTrack); + assert(mOutputTrack->IsLeader() == pChannel->IsLeader()); + mOutputTrack.reset(); + } ++mProgressTrackCount; } - auto iter = TrackList::Channels(*tempList->Leaders().begin()).begin(); - for (const auto pChannel : TrackList::Channels(track)) - pChannel->ClearAndPaste(t0, t0 + tLen, *iter++, true, false); + if (tempList->Size()) { + auto iter = TrackList::Channels(*tempList->Leaders().begin()).begin(); + for (const auto pChannel : TrackList::Channels(track)) + pChannel->ClearAndPaste(t0, t0 + tLen, *iter++, true, false); + } } } -- GitLab