From a0578f71c320be720a08d74ef70eb5a134bd65a8 Mon Sep 17 00:00:00 2001 From: James Crook Date: Mon, 2 Mar 2020 20:11:04 +0000 Subject: [PATCH] Bug 2218 - Rendering a single track unnecessarily strips it of its properties --- src/menus/TrackMenus.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/menus/TrackMenus.cpp b/src/menus/TrackMenus.cpp index 2312050ce..cf2d1eb31 100644 --- a/src/menus/TrackMenus.cpp +++ b/src/menus/TrackMenus.cpp @@ -75,8 +75,11 @@ void DoMixAndRender auto selectedCount = (trackRange + &Track::IsLeader).size(); wxString firstName; - if (selectedCount > 0) + int firstColour = -1; + if (selectedCount > 0) { firstName = (*trackRange.begin())->GetName(); + firstColour = (*trackRange.begin())->GetWaveColorIndex(); + } if (!toNewTrack) { // Beware iterator invalidation! for (auto &it = trackRange.first, &end = trackRange.second; it != end;) @@ -96,8 +99,18 @@ void DoMixAndRender // If we're just rendering (not mixing), keep the track name the same if (selectedCount==1) { pNewLeft->SetName(firstName); - if (pNewRight) + if (pNewRight) { pNewRight->SetName(firstName); + } + } + + // Bug 2218, remember more things... + if (selectedCount>=1) { + pNewLeft->SetWaveColorIndex(firstColour); + if (pNewRight) { + pNewRight->SetWaveColorIndex(firstColour); + } + pNewLeft->SetSelected(true); } // Permute the tracks as needed