mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-16 16:10:06 +02:00
Review uses of safenew...
... add comments and assertions, and use make_unique instead where possible
This commit is contained in:
parent
84a6456788
commit
32f24eabb2
@ -934,6 +934,7 @@ MixerBoard::MixerBoard(AudacityProject* pProject,
|
|||||||
this->LoadMusicalInstruments(); // Set up mMusicalInstruments.
|
this->LoadMusicalInstruments(); // Set up mMusicalInstruments.
|
||||||
mProject = pProject;
|
mProject = pProject;
|
||||||
|
|
||||||
|
wxASSERT(pProject); // to justify safenew
|
||||||
mScrolledWindow =
|
mScrolledWindow =
|
||||||
safenew MixerBoardScrolledWindow(
|
safenew MixerBoardScrolledWindow(
|
||||||
pProject, // AudacityProject* project,
|
pProject, // AudacityProject* project,
|
||||||
|
@ -169,7 +169,8 @@ scroll information. It also has some status flags.
|
|||||||
|
|
||||||
#include "../images/AudacityLogoAlpha.xpm"
|
#include "../images/AudacityLogoAlpha.xpm"
|
||||||
|
|
||||||
std::unique_ptr<TrackList> AudacityProject::msClipboard{ safenew TrackList() };
|
std::unique_ptr<TrackList> AudacityProject::msClipboard
|
||||||
|
{ std::make_unique<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;
|
||||||
@ -829,7 +830,7 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
|
|||||||
mSelectionFormat(gPrefs->Read(wxT("/SelectionFormat"), wxT(""))),
|
mSelectionFormat(gPrefs->Read(wxT("/SelectionFormat"), wxT(""))),
|
||||||
mFrequencySelectionFormatName(gPrefs->Read(wxT("/FrequencySelectionFormatName"), wxT(""))),
|
mFrequencySelectionFormatName(gPrefs->Read(wxT("/FrequencySelectionFormatName"), wxT(""))),
|
||||||
mBandwidthSelectionFormatName(gPrefs->Read(wxT("/BandwidthSelectionFormatName"), wxT(""))),
|
mBandwidthSelectionFormatName(gPrefs->Read(wxT("/BandwidthSelectionFormatName"), wxT(""))),
|
||||||
mUndoManager(safenew UndoManager),
|
mUndoManager(std::make_unique<UndoManager>()),
|
||||||
mViewInfo(0.0, 1.0, ZoomInfo::GetDefaultZoom())
|
mViewInfo(0.0, 1.0, ZoomInfo::GetDefaultZoom())
|
||||||
{
|
{
|
||||||
// Note that the first field of the status bar is a dummy, and it's width is set
|
// Note that the first field of the status bar is a dummy, and it's width is set
|
||||||
|
@ -143,6 +143,7 @@ void SplashDialog::Show2( wxWindow * pParent )
|
|||||||
if( pSelf == NULL )
|
if( pSelf == NULL )
|
||||||
{
|
{
|
||||||
// pParent owns it
|
// pParent owns it
|
||||||
|
wxASSERT(pParent);
|
||||||
pSelf = safenew SplashDialog( pParent );
|
pSelf = safenew SplashDialog( pParent );
|
||||||
}
|
}
|
||||||
pSelf->mpHtml->SetPage(HelpText( wxT("welcome") ));
|
pSelf->mpHtml->SetPage(HelpText( wxT("welcome") ));
|
||||||
|
@ -778,6 +778,7 @@ TimerRecordPathCtrl * TimerRecordDialog::NewPathControl(wxWindow *wParent, const
|
|||||||
const wxString &sCaption, const wxString &sValue)
|
const wxString &sCaption, const wxString &sValue)
|
||||||
{
|
{
|
||||||
TimerRecordPathCtrl * pTextCtrl;
|
TimerRecordPathCtrl * pTextCtrl;
|
||||||
|
wxASSERT(wParent); // to justify safenew
|
||||||
pTextCtrl = safenew TimerRecordPathCtrl(wParent, iID, sValue);
|
pTextCtrl = safenew TimerRecordPathCtrl(wParent, iID, sValue);
|
||||||
pTextCtrl->SetName(sCaption);
|
pTextCtrl->SetName(sCaption);
|
||||||
return pTextCtrl;
|
return pTextCtrl;
|
||||||
|
@ -113,6 +113,7 @@ void MeterToolBar::ReCreateButtons()
|
|||||||
|
|
||||||
void MeterToolBar::Populate()
|
void MeterToolBar::Populate()
|
||||||
{
|
{
|
||||||
|
wxASSERT(mProject); // to justify safenew
|
||||||
Add((mSizer = safenew wxGridBagSizer()), 1, wxEXPAND);
|
Add((mSizer = safenew wxGridBagSizer()), 1, wxEXPAND);
|
||||||
|
|
||||||
if( mWhichMeters & kWithRecordMeter ){
|
if( mWhichMeters & kWithRecordMeter ){
|
||||||
|
@ -758,6 +758,7 @@ AButton * ToolBar::MakeButton(wxWindow *parent,
|
|||||||
wxImagePtr down2 (OverlayImage(eDown, eStandardDown, xoff + 1, yoff + 1));
|
wxImagePtr down2 (OverlayImage(eDown, eStandardDown, xoff + 1, yoff + 1));
|
||||||
wxImagePtr disable2 (OverlayImage(eUp, eDisabled, xoff, yoff));
|
wxImagePtr disable2 (OverlayImage(eUp, eDisabled, xoff, yoff));
|
||||||
|
|
||||||
|
wxASSERT(parent); // to justify safenew
|
||||||
AButton * button =
|
AButton * button =
|
||||||
safenew AButton(parent, id, placement, size, *up2, *hilite2, *down2,
|
safenew AButton(parent, id, placement, size, *up2, *hilite2, *down2,
|
||||||
*disable2, processdownevents);
|
*disable2, processdownevents);
|
||||||
|
@ -181,6 +181,7 @@ class ToolBar /* not final */ : public wxPanelWrapper
|
|||||||
int border = 0,
|
int border = 0,
|
||||||
wxObject *userData = NULL);
|
wxObject *userData = NULL);
|
||||||
|
|
||||||
|
// Takes ownership of sizer
|
||||||
void Add(wxSizer *sizer,
|
void Add(wxSizer *sizer,
|
||||||
int proportion = 0,
|
int proportion = 0,
|
||||||
int flag = 0,
|
int flag = 0,
|
||||||
|
@ -363,6 +363,7 @@ ToolManager::ToolManager( AudacityProject *parent, wxWindow *topDockParent )
|
|||||||
mLeft = std::make_unique<wxRegion>( 3, &pt[0] );
|
mLeft = std::make_unique<wxRegion>( 3, &pt[0] );
|
||||||
|
|
||||||
// Create the indicator frame
|
// Create the indicator frame
|
||||||
|
// parent is null but FramePtr ensures destruction
|
||||||
mIndicator = FramePtr{ safenew wxFrame( NULL,
|
mIndicator = FramePtr{ safenew wxFrame( NULL,
|
||||||
wxID_ANY,
|
wxID_ANY,
|
||||||
wxEmptyString,
|
wxEmptyString,
|
||||||
@ -410,6 +411,8 @@ ToolManager::ToolManager( AudacityProject *parent, wxWindow *topDockParent )
|
|||||||
mBotDock = safenew ToolDock( this, mParent, BotDockID );
|
mBotDock = safenew ToolDock( this, mParent, BotDockID );
|
||||||
|
|
||||||
// Create all of the toolbars
|
// Create all of the toolbars
|
||||||
|
// All have the project as parent window
|
||||||
|
wxASSERT(parent);
|
||||||
mBars[ ToolsBarID ] = ToolBar::Holder{ safenew ToolsToolBar() };
|
mBars[ ToolsBarID ] = ToolBar::Holder{ safenew ToolsToolBar() };
|
||||||
mBars[ TransportBarID ] = ToolBar::Holder{ safenew ControlToolBar() };
|
mBars[ TransportBarID ] = ToolBar::Holder{ safenew ControlToolBar() };
|
||||||
mBars[ RecordMeterBarID ] = ToolBar::Holder{ safenew MeterToolBar( parent, RecordMeterBarID ) };
|
mBars[ RecordMeterBarID ] = ToolBar::Holder{ safenew MeterToolBar( parent, RecordMeterBarID ) };
|
||||||
@ -583,6 +586,7 @@ void ToolManager::Reset()
|
|||||||
// Maybe construct a NEW floater
|
// Maybe construct a NEW floater
|
||||||
// this happens if we have just been bounced out of a dock.
|
// this happens if we have just been bounced out of a dock.
|
||||||
if( floater == NULL ) {
|
if( floater == NULL ) {
|
||||||
|
wxASSERT(mParent);
|
||||||
floater = safenew ToolFrame( mParent, this, bar, wxPoint(-1,-1) );
|
floater = safenew ToolFrame( mParent, this, bar, wxPoint(-1,-1) );
|
||||||
bar->Reparent( floater );
|
bar->Reparent( floater );
|
||||||
}
|
}
|
||||||
@ -761,6 +765,7 @@ void ToolManager::ReadConfig()
|
|||||||
bar->Create( mTopDock );
|
bar->Create( mTopDock );
|
||||||
|
|
||||||
// Construct a NEW floater
|
// Construct a NEW floater
|
||||||
|
wxASSERT(mParent);
|
||||||
ToolFrame *f = safenew ToolFrame( mParent, this, bar, wxPoint( x, y ) );
|
ToolFrame *f = safenew ToolFrame( mParent, this, bar, wxPoint( x, y ) );
|
||||||
|
|
||||||
// Set the width and height
|
// Set the width and height
|
||||||
@ -1327,6 +1332,7 @@ void ToolManager::OnGrabber( GrabberEvent & event )
|
|||||||
mDragBar->SetPositioned();
|
mDragBar->SetPositioned();
|
||||||
|
|
||||||
// Construct a NEW floater
|
// Construct a NEW floater
|
||||||
|
wxASSERT(mParent);
|
||||||
mDragWindow = safenew ToolFrame( mParent, this, mDragBar, mp );
|
mDragWindow = safenew ToolFrame( mParent, this, mDragBar, mp );
|
||||||
|
|
||||||
// Make sure the ferry is visible
|
// Make sure the ferry is visible
|
||||||
|
@ -14,7 +14,7 @@ BackedPanel::BackedPanel(wxWindow * parent, wxWindowID id,
|
|||||||
const wxSize & size,
|
const wxSize & size,
|
||||||
long style)
|
long style)
|
||||||
: wxPanelWrapper(parent, id, pos, size, style)
|
: wxPanelWrapper(parent, id, pos, size, style)
|
||||||
, mBacking{ safenew wxBitmap(1, 1) }
|
, mBacking{ std::make_unique<wxBitmap>(1, 1) }
|
||||||
{
|
{
|
||||||
// Preinit the backing DC and bitmap so routines that require it will
|
// Preinit the backing DC and bitmap so routines that require it will
|
||||||
// not cause a crash if they run before the panel is fully initialized.
|
// not cause a crash if they run before the panel is fully initialized.
|
||||||
@ -52,7 +52,7 @@ void BackedPanel::ResizeBacking()
|
|||||||
mBackingDC.SelectObject(wxNullBitmap);
|
mBackingDC.SelectObject(wxNullBitmap);
|
||||||
|
|
||||||
wxSize sz = GetClientSize();
|
wxSize sz = GetClientSize();
|
||||||
mBacking.reset(safenew wxBitmap);
|
mBacking = std::make_unique<wxBitmap>();
|
||||||
mBacking->Create(sz.x, sz.y); //, *dc);
|
mBacking->Create(sz.x, sz.y); //, *dc);
|
||||||
mBackingDC.SelectObject(*mBacking);
|
mBackingDC.SelectObject(*mBacking);
|
||||||
}
|
}
|
||||||
|
@ -184,6 +184,7 @@ void ShowModelessErrorDialog(wxWindow *parent,
|
|||||||
const wxString &helpURL,
|
const wxString &helpURL,
|
||||||
const bool Close)
|
const bool Close)
|
||||||
{
|
{
|
||||||
|
wxASSERT(parent);
|
||||||
ErrorDialog *dlog = safenew ErrorDialog(parent, dlogTitle, message, helpURL, Close, false);
|
ErrorDialog *dlog = safenew ErrorDialog(parent, dlogTitle, message, helpURL, Close, false);
|
||||||
dlog->CentreOnParent();
|
dlog->CentreOnParent();
|
||||||
dlog->Show();
|
dlog->Show();
|
||||||
@ -199,6 +200,7 @@ void ShowAliasMissingDialog(AudacityProject *parent,
|
|||||||
const wxString &helpURL,
|
const wxString &helpURL,
|
||||||
const bool Close)
|
const bool Close)
|
||||||
{
|
{
|
||||||
|
wxASSERT(parent); // to justify safenew
|
||||||
ErrorDialog *dlog = safenew AliasedFileMissingDialog(parent, dlogTitle, message, helpURL, Close, false);
|
ErrorDialog *dlog = safenew AliasedFileMissingDialog(parent, dlogTitle, message, helpURL, Close, false);
|
||||||
// Don't center because in many cases (effect, export, etc) there will be a progress bar in the center that blocks this.
|
// Don't center because in many cases (effect, export, etc) there will be a progress bar in the center that blocks this.
|
||||||
// instead put it just above or on the top of the project.
|
// instead put it just above or on the top of the project.
|
||||||
|
@ -100,6 +100,7 @@ void HelpSystem::ShowHtmlText(wxWindow *pParent,
|
|||||||
{
|
{
|
||||||
LinkingHtmlWindow *html;
|
LinkingHtmlWindow *html;
|
||||||
|
|
||||||
|
wxASSERT(pParent); // to justify safenew
|
||||||
auto pFrame = safenew wxFrame {
|
auto pFrame = safenew wxFrame {
|
||||||
pParent, wxID_ANY, Title, wxDefaultPosition, wxDefaultSize,
|
pParent, wxID_ANY, Title, wxDefaultPosition, wxDefaultSize,
|
||||||
#if defined(__WXMAC__)
|
#if defined(__WXMAC__)
|
||||||
@ -195,6 +196,7 @@ void HelpSystem::ShowHelpDialog(wxWindow *parent,
|
|||||||
const wxString &remoteURL,
|
const wxString &remoteURL,
|
||||||
bool bModal)
|
bool bModal)
|
||||||
{
|
{
|
||||||
|
wxASSERT(parent); // to justify safenew
|
||||||
AudacityProject * pProj = GetActiveProject();
|
AudacityProject * pProj = GetActiveProject();
|
||||||
wxString HelpMode = wxT("Local");
|
wxString HelpMode = wxT("Local");
|
||||||
|
|
||||||
@ -341,6 +343,7 @@ void HelpSystem::ShowHelpDialog(wxWindow *parent,
|
|||||||
wxLogMessage(wxT("webHelpPage %s, localHelpPage %s"),
|
wxLogMessage(wxT("webHelpPage %s, localHelpPage %s"),
|
||||||
webHelpPage.c_str(), localHelpPage.c_str());
|
webHelpPage.c_str(), localHelpPage.c_str());
|
||||||
|
|
||||||
|
wxASSERT(parent); // to justify safenew
|
||||||
HelpSystem::ShowHelpDialog(
|
HelpSystem::ShowHelpDialog(
|
||||||
parent,
|
parent,
|
||||||
localHelpPage,
|
localHelpPage,
|
||||||
|
@ -124,7 +124,7 @@ void LinkingHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link)
|
|||||||
wxFileName( FileNames::HtmlHelpDir(), href.Mid( 10 ) + wxT(".htm") ).GetFullPath();
|
wxFileName( FileNames::HtmlHelpDir(), href.Mid( 10 ) + wxT(".htm") ).GetFullPath();
|
||||||
if( wxFileExists( FileName ) )
|
if( wxFileExists( FileName ) )
|
||||||
{
|
{
|
||||||
HelpSystem::ShowHelpDialog(NULL, FileName, wxT(""));
|
HelpSystem::ShowHelpDialog(this, FileName, wxT(""));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user