From de4577c73365973049d2b01fb589e903af66e1b1 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Thu, 2 Nov 2023 06:40:42 -0400 Subject: [PATCH] Other fix for assertion violations --- libraries/lib-track/PendingTracks.cpp | 4 ++-- src/TrackArt.cpp | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/libraries/lib-track/PendingTracks.cpp b/libraries/lib-track/PendingTracks.cpp index f500de70df41..c424ba9d8e7a 100644 --- a/libraries/lib-track/PendingTracks.cpp +++ b/libraries/lib-track/PendingTracks.cpp @@ -45,7 +45,7 @@ PendingTracks::PendingTracks(AudacityProject &project) // Pass along to downstream listeners Publish(event); })} - , mPendingUpdates{ TrackList::Temporary(nullptr) } + , mPendingUpdates{ TrackList::Temporary(mTracks.GetOwner()) } {} PendingTracks::~PendingTracks() = default; @@ -199,7 +199,7 @@ void PendingTracks::ClearPendingTracks(std::vector *pAdded) bool PendingTracks::ApplyPendingTracks() { std::vector additions; - auto updated = TrackList::Temporary(nullptr); + auto updated = TrackList::Temporary(mTracks.GetOwner()); { // Always clear, even if one of the update functions throws Finally Do{[&]{ ClearPendingTracks(&additions); }}; diff --git a/src/TrackArt.cpp b/src/TrackArt.cpp index 802c5abe4327..adb9cdca65b7 100644 --- a/src/TrackArt.cpp +++ b/src/TrackArt.cpp @@ -21,7 +21,6 @@ #include "TrackPanelDrawingContext.h" #include "ZoomInfo.h" #include "TimeDisplayMode.h" -#include "PendingTracks.h" #include "ProjectTimeRuler.h" #include "ProjectTimeSignature.h" @@ -711,16 +710,13 @@ void TrackArt::DrawBackgroundWithSelection( const auto artist = TrackArtist::Get( context ); const auto &selectedRegion = *artist->pSelectedRegion; const auto& zoomInfo = *artist->pZoomInfo; - const auto &pendingTracks = *artist->pPendingTracks; //MM: Draw background. We should optimize that a bit more. const double sel0 = useSelection ? selectedRegion.t0() : 0.0; const double sel1 = useSelection ? selectedRegion.t1() : 0.0; - // This works around assertion violations - auto orig = pendingTracks.SubstituteOriginalTrack(*track); - BeatsGridlinePainter gridlinePainter(zoomInfo, *orig); + BeatsGridlinePainter gridlinePainter(zoomInfo, *track); dc->SetPen(*wxTRANSPARENT_PEN);