1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-19 06:07:42 +02:00

RedrawProject has a CallAfter delay now, so remove other delays...

... and rewrite that CallAfter more safely with a weak pointer
This commit is contained in:
Paul Licameli 2019-06-26 13:40:06 -04:00
parent abe69ddd35
commit 63c7b3740e

View File

@ -865,12 +865,16 @@ void ProjectWindow::ApplyUpdatedTheme()
void ProjectWindow::RedrawProject(const bool bForceWaveTracks /*= false*/)
{
CallAfter( [this, bForceWaveTracks]{
auto pThis = wxWeakRef<ProjectWindow>(this);
CallAfter( [pThis, bForceWaveTracks]{
auto &project = mProject ;
if (!pThis)
return;
auto &project = pThis->mProject ;
auto &tracks = TrackList::Get( project );
auto &trackPanel = TrackPanel::Get( project );
FixScrollbars();
pThis->FixScrollbars();
if (bForceWaveTracks)
{
for ( auto pWaveTrack : tracks.Any< WaveTrack >() )
@ -1439,14 +1443,14 @@ void ProjectWindow::OnUndoRedo( wxCommandEvent &evt )
{
evt.Skip();
HandleResize();
CallAfter( [this]{ RedrawProject(); } );
RedrawProject();
}
void ProjectWindow::OnUndoReset( wxCommandEvent &evt )
{
evt.Skip();
HandleResize();
// CallAfter( [this]{ RedrawProject(); } ); // Should we do this here too?
// RedrawProject(); // Should we do this here too?
}
void ProjectWindow::OnScroll(wxScrollEvent & WXUNUSED(event))