mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-16 08:34:10 +02:00
Remove a naked new in AudacityLogger.cpp
This commit is contained in:
parent
b6241c46d3
commit
2024c8b319
@ -51,7 +51,6 @@ AudacityLogger::AudacityLogger()
|
|||||||
: wxEvtHandler(),
|
: wxEvtHandler(),
|
||||||
wxLog()
|
wxLog()
|
||||||
{
|
{
|
||||||
mFrame = NULL;
|
|
||||||
mText = NULL;
|
mText = NULL;
|
||||||
mUpdated = false;
|
mUpdated = false;
|
||||||
}
|
}
|
||||||
@ -97,48 +96,44 @@ void AudacityLogger::DoLogText(const wxString & str)
|
|||||||
void AudacityLogger::Destroy()
|
void AudacityLogger::Destroy()
|
||||||
{
|
{
|
||||||
if (mFrame) {
|
if (mFrame) {
|
||||||
wxFrame *frame = mFrame;
|
mFrame->Disconnect(LoggerID_Save,
|
||||||
mFrame = NULL;
|
|
||||||
mText = NULL;
|
|
||||||
|
|
||||||
frame->Disconnect(LoggerID_Save,
|
|
||||||
wxEVT_COMMAND_BUTTON_CLICKED,
|
wxEVT_COMMAND_BUTTON_CLICKED,
|
||||||
wxCommandEventHandler(AudacityLogger::OnSave),
|
wxCommandEventHandler(AudacityLogger::OnSave),
|
||||||
NULL,
|
NULL,
|
||||||
this);
|
this);
|
||||||
frame->Disconnect(LoggerID_Clear,
|
mFrame->Disconnect(LoggerID_Clear,
|
||||||
wxEVT_COMMAND_BUTTON_CLICKED,
|
wxEVT_COMMAND_BUTTON_CLICKED,
|
||||||
wxCommandEventHandler(AudacityLogger::OnClear),
|
wxCommandEventHandler(AudacityLogger::OnClear),
|
||||||
NULL,
|
NULL,
|
||||||
this);
|
this);
|
||||||
frame->Disconnect(LoggerID_Close,
|
mFrame->Disconnect(LoggerID_Close,
|
||||||
wxEVT_COMMAND_BUTTON_CLICKED,
|
wxEVT_COMMAND_BUTTON_CLICKED,
|
||||||
wxCommandEventHandler(AudacityLogger::OnClose),
|
wxCommandEventHandler(AudacityLogger::OnClose),
|
||||||
NULL,
|
NULL,
|
||||||
this);
|
this);
|
||||||
|
|
||||||
frame->Disconnect(LoggerID_Save,
|
mFrame->Disconnect(LoggerID_Save,
|
||||||
wxEVT_COMMAND_MENU_SELECTED,
|
wxEVT_COMMAND_MENU_SELECTED,
|
||||||
wxCommandEventHandler(AudacityLogger::OnSave),
|
wxCommandEventHandler(AudacityLogger::OnSave),
|
||||||
NULL,
|
NULL,
|
||||||
this);
|
this);
|
||||||
frame->Disconnect(LoggerID_Clear,
|
mFrame->Disconnect(LoggerID_Clear,
|
||||||
wxEVT_COMMAND_MENU_SELECTED,
|
wxEVT_COMMAND_MENU_SELECTED,
|
||||||
wxCommandEventHandler(AudacityLogger::OnClear),
|
wxCommandEventHandler(AudacityLogger::OnClear),
|
||||||
NULL,
|
NULL,
|
||||||
this);
|
this);
|
||||||
frame->Disconnect(LoggerID_Close,
|
mFrame->Disconnect(LoggerID_Close,
|
||||||
wxEVT_COMMAND_MENU_SELECTED,
|
wxEVT_COMMAND_MENU_SELECTED,
|
||||||
wxCommandEventHandler(AudacityLogger::OnClose),
|
wxCommandEventHandler(AudacityLogger::OnClose),
|
||||||
NULL,
|
NULL,
|
||||||
this);
|
this);
|
||||||
|
|
||||||
frame->Disconnect(wxEVT_CLOSE_WINDOW,
|
mFrame->Disconnect(wxEVT_CLOSE_WINDOW,
|
||||||
wxCloseEventHandler(AudacityLogger::OnCloseWindow),
|
wxCloseEventHandler(AudacityLogger::OnCloseWindow),
|
||||||
NULL,
|
NULL,
|
||||||
this);
|
this);
|
||||||
|
|
||||||
frame->Destroy();
|
mFrame.reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,7 +160,8 @@ void AudacityLogger::Show(bool show)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// This is the first use, so create the frame
|
// This is the first use, so create the frame
|
||||||
wxFrame *frame = new wxFrame(NULL, wxID_ANY, _("Audacity Log"));
|
Destroy_ptr<wxFrame> frame
|
||||||
|
{ safenew wxFrame(NULL, wxID_ANY, _("Audacity Log")) };
|
||||||
frame->SetName(frame->GetTitle());
|
frame->SetName(frame->GetTitle());
|
||||||
frame->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
|
frame->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
|
||||||
|
|
||||||
@ -185,7 +181,7 @@ void AudacityLogger::Show(bool show)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Log text
|
// Log text
|
||||||
ShuttleGui S(frame, eIsCreating);
|
ShuttleGui S(frame.get(), eIsCreating);
|
||||||
|
|
||||||
S.SetStyle(wxNO_BORDER | wxTAB_TRAVERSAL);
|
S.SetStyle(wxNO_BORDER | wxTAB_TRAVERSAL);
|
||||||
S.Prop(true).StartPanel();
|
S.Prop(true).StartPanel();
|
||||||
@ -254,7 +250,7 @@ void AudacityLogger::Show(bool show)
|
|||||||
NULL,
|
NULL,
|
||||||
this);
|
this);
|
||||||
|
|
||||||
mFrame = frame;
|
mFrame = std::move( frame );
|
||||||
|
|
||||||
mFrame->Show();
|
mFrame->Show();
|
||||||
|
|
||||||
@ -302,7 +298,7 @@ void AudacityLogger::OnSave(wxCommandEvent & WXUNUSED(e))
|
|||||||
wxT("txt"),
|
wxT("txt"),
|
||||||
wxT("*.txt"),
|
wxT("*.txt"),
|
||||||
wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxRESIZE_BORDER,
|
wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxRESIZE_BORDER,
|
||||||
mFrame);
|
mFrame.get());
|
||||||
|
|
||||||
if (fName == wxEmptyString) {
|
if (fName == wxEmptyString) {
|
||||||
return;
|
return;
|
||||||
@ -312,7 +308,7 @@ void AudacityLogger::OnSave(wxCommandEvent & WXUNUSED(e))
|
|||||||
wxMessageBox(_("Couldn't save log to file: ") + fName,
|
wxMessageBox(_("Couldn't save log to file: ") + fName,
|
||||||
_("Warning"),
|
_("Warning"),
|
||||||
wxICON_EXCLAMATION,
|
wxICON_EXCLAMATION,
|
||||||
mFrame);
|
mFrame.get());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "Audacity.h"
|
#include "Audacity.h"
|
||||||
|
|
||||||
|
#include "MemoryX.h"
|
||||||
#include <wx/event.h>
|
#include <wx/event.h>
|
||||||
#include <wx/log.h>
|
#include <wx/log.h>
|
||||||
#include <wx/frame.h>
|
#include <wx/frame.h>
|
||||||
@ -46,7 +47,7 @@ class AudacityLogger final : public wxEvtHandler, public wxLog {
|
|||||||
void OnClear(wxCommandEvent & e);
|
void OnClear(wxCommandEvent & e);
|
||||||
void OnSave(wxCommandEvent & e);
|
void OnSave(wxCommandEvent & e);
|
||||||
|
|
||||||
wxFrame *mFrame;
|
Destroy_ptr<wxFrame> mFrame;
|
||||||
wxTextCtrl *mText;
|
wxTextCtrl *mText;
|
||||||
wxString mBuffer;
|
wxString mBuffer;
|
||||||
bool mUpdated;
|
bool mUpdated;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user