mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-15 16:17:41 +02:00
Use a static unique_ptr for the global clipboard
This commit is contained in:
parent
c5a70126eb
commit
7d1ea7b82e
@ -3999,7 +3999,7 @@ void AudacityProject::OnPaste()
|
|||||||
double t1 = mViewInfo.selectedRegion.t1();
|
double t1 = mViewInfo.selectedRegion.t1();
|
||||||
|
|
||||||
TrackListIterator iter(mTracks);
|
TrackListIterator iter(mTracks);
|
||||||
TrackListIterator clipIter(msClipboard);
|
TrackListIterator clipIter(msClipboard.get());
|
||||||
|
|
||||||
Track *n = iter.First();
|
Track *n = iter.First();
|
||||||
Track *c = clipIter.First();
|
Track *c = clipIter.First();
|
||||||
@ -4139,7 +4139,7 @@ void AudacityProject::OnPaste()
|
|||||||
// selected tracks.
|
// selected tracks.
|
||||||
if ( n && !c )
|
if ( n && !c )
|
||||||
{
|
{
|
||||||
TrackListOfKindIterator clipWaveIter(Track::Wave, msClipboard);
|
TrackListOfKindIterator clipWaveIter(Track::Wave, msClipboard.get());
|
||||||
c = clipWaveIter.Last();
|
c = clipWaveIter.Last();
|
||||||
|
|
||||||
while (n) {
|
while (n) {
|
||||||
@ -4246,7 +4246,7 @@ bool AudacityProject::HandlePasteNothingSelected()
|
|||||||
return false;
|
return false;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TrackListIterator iterClip(msClipboard);
|
TrackListIterator iterClip(msClipboard.get());
|
||||||
Track* pClip = iterClip.First();
|
Track* pClip = iterClip.First();
|
||||||
if (!pClip)
|
if (!pClip)
|
||||||
return true; // nothing to paste
|
return true; // nothing to paste
|
||||||
|
@ -164,7 +164,7 @@ scroll information. It also has some status flags.
|
|||||||
|
|
||||||
#include "../images/AudacityLogoAlpha.xpm"
|
#include "../images/AudacityLogoAlpha.xpm"
|
||||||
|
|
||||||
TrackList *AudacityProject::msClipboard = new TrackList();
|
std::unique_ptr<TrackList> AudacityProject::msClipboard{ safenew TrackList() };
|
||||||
double AudacityProject::msClipT0 = 0.0;
|
double AudacityProject::msClipT0 = 0.0;
|
||||||
double AudacityProject::msClipT1 = 0.0;
|
double AudacityProject::msClipT1 = 0.0;
|
||||||
AudacityProject *AudacityProject::msClipProject = NULL;
|
AudacityProject *AudacityProject::msClipProject = NULL;
|
||||||
@ -4166,17 +4166,13 @@ void AudacityProject::UpdateMixerBoard()
|
|||||||
//static
|
//static
|
||||||
TrackList *AudacityProject::GetClipboardTracks()
|
TrackList *AudacityProject::GetClipboardTracks()
|
||||||
{
|
{
|
||||||
return msClipboard;
|
return msClipboard.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
//static
|
//static
|
||||||
void AudacityProject::DeleteClipboard()
|
void AudacityProject::DeleteClipboard()
|
||||||
{
|
{
|
||||||
if (msClipboard) {
|
msClipboard.reset();
|
||||||
msClipboard->Clear();
|
|
||||||
delete msClipboard;
|
|
||||||
msClipboard = NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//static
|
//static
|
||||||
|
@ -549,7 +549,7 @@ public:
|
|||||||
TrackList *mLastSavedTracks;
|
TrackList *mLastSavedTracks;
|
||||||
|
|
||||||
// Clipboard (static because it is shared by all projects)
|
// Clipboard (static because it is shared by all projects)
|
||||||
static TrackList *msClipboard;
|
static std::unique_ptr<TrackList> msClipboard;
|
||||||
static AudacityProject *msClipProject;
|
static AudacityProject *msClipProject;
|
||||||
static double msClipT0;
|
static double msClipT0;
|
||||||
static double msClipT1;
|
static double msClipT1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user