From 14c23803acd9974c7e7f49d2e30d43fe1fcb8006 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Wed, 10 Aug 2016 01:34:44 -0400 Subject: [PATCH] Various uses of make_unique --- src/BatchProcessDialog.cpp | 5 +++-- src/HistoryWindow.cpp | 5 +++-- src/WaveTrack.cpp | 9 ++++++--- src/effects/NoiseReduction.cpp | 6 +++--- src/effects/VST/VSTEffect.cpp | 8 ++++---- src/effects/audiounits/AudioUnitEffect.cpp | 8 ++++---- src/effects/audiounits/AudioUnitEffect.h | 1 - 7 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/BatchProcessDialog.cpp b/src/BatchProcessDialog.cpp index 7f3d7c701..9ce8e3421 100644 --- a/src/BatchProcessDialog.cpp +++ b/src/BatchProcessDialog.cpp @@ -302,14 +302,15 @@ void BatchProcessDialog::OnApplyToFiles(wxCommandEvent & WXUNUSED(event)) { S.StartStatic(_("Applying..."), 1); { - wxImageList *imageList = new wxImageList(9, 16); + auto imageList = std::make_unique(9, 16); imageList->Add(wxIcon(empty9x16_xpm)); imageList->Add(wxIcon(arrow_xpm)); S.SetStyle(wxSUNKEN_BORDER | wxLC_REPORT | wxLC_HRULES | wxLC_VRULES | wxLC_SINGLE_SEL); mList = S.Id(CommandsListID).AddListControlReportMode(); - mList->AssignImageList(imageList, wxIMAGE_LIST_SMALL); + // AssignImageList takes ownership + mList->AssignImageList(imageList.release(), wxIMAGE_LIST_SMALL); mList->InsertColumn(0, _("File"), wxLIST_FORMAT_LEFT); } S.EndStatic(); diff --git a/src/HistoryWindow.cpp b/src/HistoryWindow.cpp index 36dd355eb..1ac07a42c 100644 --- a/src/HistoryWindow.cpp +++ b/src/HistoryWindow.cpp @@ -64,7 +64,7 @@ HistoryWindow::HistoryWindow(AudacityProject *parent, UndoManager *manager): mSelected = 0; mAudioIOBusy = false; - wxImageList *imageList = new wxImageList(9, 16); + auto imageList = std::make_unique(9, 16); imageList->Add(wxIcon(empty9x16_xpm)); imageList->Add(wxIcon(arrow_xpm)); @@ -85,7 +85,8 @@ HistoryWindow::HistoryWindow(AudacityProject *parent, UndoManager *manager): mList->InsertColumn(1, _("Size"), wxLIST_FORMAT_LEFT, 85); //Assign rather than set the image list, so that it is deleted later. - mList->AssignImageList(imageList, wxIMAGE_LIST_SMALL); + // AssignImageList takes ownership + mList->AssignImageList(imageList.release(), wxIMAGE_LIST_SMALL); S.StartMultiColumn(3, wxCENTRE); { diff --git a/src/WaveTrack.cpp b/src/WaveTrack.cpp index 2a00353b7..376d227bb 100644 --- a/src/WaveTrack.cpp +++ b/src/WaveTrack.cpp @@ -116,10 +116,13 @@ WaveTrack::WaveTrack(DirManager *projDirManager, sampleFormat format, double rat WaveTrack::WaveTrack(const WaveTrack &orig): Track(orig) , mpSpectrumSettings(orig.mpSpectrumSettings - ? new SpectrogramSettings(*orig.mpSpectrumSettings) : 0 - ) + ? std::make_unique(*orig.mpSpectrumSettings) + : nullptr + ) , mpWaveformSettings(orig.mpWaveformSettings - ? new WaveformSettings(*orig.mpWaveformSettings) : 0) + ? std::make_unique(*orig.mpWaveformSettings) + : nullptr + ) { mLastScaleType = -1; mLastdBRange = -1; diff --git a/src/effects/NoiseReduction.cpp b/src/effects/NoiseReduction.cpp index c8ab7734d..e3e28bb1e 100644 --- a/src/effects/NoiseReduction.cpp +++ b/src/effects/NoiseReduction.cpp @@ -412,7 +412,7 @@ private: }; EffectNoiseReduction::EffectNoiseReduction() -: mSettings(new EffectNoiseReduction::Settings) +: mSettings(std::make_unique()) { Init(); } @@ -609,8 +609,8 @@ bool EffectNoiseReduction::Process() // settings if reducing noise. if (mSettings->mDoProfile) { int spectrumSize = 1 + mSettings->WindowSize() / 2; - mStatistics.reset - (new Statistics(spectrumSize, track->GetRate(), mSettings->mWindowTypes)); + mStatistics = std::make_unique + (spectrumSize, track->GetRate(), mSettings->mWindowTypes); } else if (mStatistics->mWindowSize != mSettings->WindowSize()) { // possible only with advanced settings diff --git a/src/effects/VST/VSTEffect.cpp b/src/effects/VST/VSTEffect.cpp index c1dbaa245..3adf8a6b8 100644 --- a/src/effects/VST/VSTEffect.cpp +++ b/src/effects/VST/VSTEffect.cpp @@ -2797,13 +2797,13 @@ void VSTEffect::BuildFancy() // Turn the power on...some effects need this when the editor is open PowerOn(); - mControl = new VSTControl; - if (!mControl) + auto control = std::make_unique(); + if (!control) { return; } - if (!mControl->Create(mParent, this)) + if (!control->Create(mParent, this)) { return; } @@ -2811,7 +2811,7 @@ void VSTEffect::BuildFancy() { auto mainSizer = std::make_unique(wxVERTICAL); - mainSizer->Add(mControl, 0, wxALIGN_CENTER); + mainSizer->Add((mControl = control.release()), 0, wxALIGN_CENTER); mParent->SetMinSize(wxDefaultSize); mParent->SetSizer(mainSizer.release()); diff --git a/src/effects/audiounits/AudioUnitEffect.cpp b/src/effects/audiounits/AudioUnitEffect.cpp index 4fabb87e7..170f94707 100644 --- a/src/effects/audiounits/AudioUnitEffect.cpp +++ b/src/effects/audiounits/AudioUnitEffect.cpp @@ -1778,13 +1778,13 @@ bool AudioUnitEffect::PopulateUI(wxWindow *parent) } else { - mControl = new AUControl; - if (!mControl) + auto pControl = std::make_unique(); + if (!pControl) { return false; } - if (!mControl->Create(container, mComponent, mUnit, mUIType == wxT("Full"))) + if (!pControl->Create(container, mComponent, mUnit, mUIType == wxT("Full"))) { return false; } @@ -1792,7 +1792,7 @@ bool AudioUnitEffect::PopulateUI(wxWindow *parent) { auto innerSizer = std::make_unique(wxVERTICAL); - innerSizer->Add(mControl, 1, wxEXPAND); + innerSizer->Add(pControl.release(), 1, wxEXPAND); container->SetSizer(innerSizer.release()); } diff --git a/src/effects/audiounits/AudioUnitEffect.h b/src/effects/audiounits/AudioUnitEffect.h index ffcf1cdfe..de311fbec 100644 --- a/src/effects/audiounits/AudioUnitEffect.h +++ b/src/effects/audiounits/AudioUnitEffect.h @@ -200,7 +200,6 @@ private: EffectUIHostInterface *mUIHost; wxWindow *mParent; wxDialog *mDialog; - AUControl *mControl; wxString mUIType; bool mIsGraphical;