Skip to content

Commit

Permalink
Merge pull request #4231 from ligfx/fix_sigabrt_when_quitting_from_dock
Browse files Browse the repository at this point in the history
Move LogWindow/LogConfigWindow destructor logic -> OnClose
  • Loading branch information
lioncash committed Oct 2, 2016
2 parents f292df2 + d1475df commit 10cccd9
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 11 deletions.
3 changes: 2 additions & 1 deletion Source/Core/DolphinWX/LogConfigWindow.cpp
Expand Up @@ -25,13 +25,14 @@ LogConfigWindow::LogConfigWindow(wxWindow* parent, wxWindowID id)
_("Log Configuration")),
enableAll(true)
{
Bind(wxEVT_CLOSE_WINDOW, &LogConfigWindow::OnClose, this);
SetMinSize(wxSize(100, 100));
m_LogManager = LogManager::GetInstance();
CreateGUIControls();
LoadSettings();
}

LogConfigWindow::~LogConfigWindow()
void LogConfigWindow::OnClose(wxCloseEvent& event)
{
SaveSettings();
}
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinWX/LogConfigWindow.h
Expand Up @@ -15,7 +15,6 @@ class LogConfigWindow : public wxPanel
{
public:
LogConfigWindow(wxWindow* parent, wxWindowID id = wxID_ANY);
~LogConfigWindow();

void SaveSettings();
void LoadSettings();
Expand All @@ -32,6 +31,7 @@ class LogConfigWindow : public wxPanel

void CreateGUIControls();
void OnVerbosityChange(wxCommandEvent& event);
void OnClose(wxCloseEvent& event);
void OnWriteFileChecked(wxCommandEvent& event);
void OnWriteConsoleChecked(wxCommandEvent& event);
void OnWriteWindowChecked(wxCommandEvent& event);
Expand Down
18 changes: 10 additions & 8 deletions Source/Core/DolphinWX/LogWindow.cpp
Expand Up @@ -149,18 +149,20 @@ void CLogWindow::CreateGUIControls()
m_cmdline->SetFocus();
}

CLogWindow::~CLogWindow()
{
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; ++i)
{
m_LogManager->RemoveListener((LogTypes::LOG_TYPE)i, LogListener::LOG_WINDOW_LISTENER);
}
}

void CLogWindow::OnClose(wxCloseEvent& event)
{
SaveSettings();
event.Skip();
RemoveAllListeners();
}

void CLogWindow::RemoveAllListeners()
{
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; ++i)
{
m_LogManager->RemoveListener(static_cast<LogTypes::LOG_TYPE>(i),
LogListener::LOG_WINDOW_LISTENER);
}
}

void CLogWindow::SaveSettings()
Expand Down
2 changes: 1 addition & 1 deletion Source/Core/DolphinWX/LogWindow.h
Expand Up @@ -28,7 +28,6 @@ class CLogWindow : public wxPanel, LogListener
CLogWindow(CFrame* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL,
const wxString& name = _("Log"));
~CLogWindow();

void SaveSettings();
void Log(LogTypes::LOG_LEVELS, const char* text) override;
Expand Down Expand Up @@ -63,5 +62,6 @@ class CLogWindow : public wxPanel, LogListener
void OnWrapLineCheck(wxCommandEvent& event);
void OnClear(wxCommandEvent& event);
void OnLogTimer(wxTimerEvent& WXUNUSED(event));
void RemoveAllListeners();
void UpdateLog();
};

0 comments on commit 10cccd9

Please sign in to comment.