summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorhrydgard <hrydgard@gmail.com>2009-03-21 17:00:07 +0000
committerhrydgard <hrydgard@gmail.com>2009-03-21 17:00:07 +0000
commitd1285b75eea3c2a30338d2e61fc1357fee4ea7ce (patch)
treef0dbc5bd9cf0fcaddff9730bb2a788ab4cfa297b /Source/Core
parent6bec79400272177e483d3c9c75250ce84aeafddb (diff)
Paper over some bad logic in logwindow with more bad logic :p (that is, log checkbox values now load OK even if you disable the logwindow). really should stop with all this addlistener / removelistener stuff and just add them once and then enable/disable. would be much clearer. but too lazy.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2714 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinWX/Src/LogWindow.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/Source/Core/DolphinWX/Src/LogWindow.cpp b/Source/Core/DolphinWX/Src/LogWindow.cpp
index 701c60bbfc..a7eaf92e9d 100644
--- a/Source/Core/DolphinWX/Src/LogWindow.cpp
+++ b/Source/Core/DolphinWX/Src/LogWindow.cpp
@@ -212,9 +212,8 @@ void CLogWindow::OnClear(wxCommandEvent& WXUNUSED (event))
m_log->Clear();
m_logSection.Enter();
- //msgQueue.Clear()
- int msgQueueSize = msgQueue.size();
- for (unsigned int i = 0; i < msgQueueSize; i++)
+ int msgQueueSize = (int)msgQueue.size();
+ for (int i = 0; i < msgQueueSize; i++)
msgQueue.pop();
m_logSection.Leave();
@@ -227,12 +226,12 @@ void CLogWindow::OnClear(wxCommandEvent& WXUNUSED (event))
void CLogWindow::OnToggleAll(wxCommandEvent& WXUNUSED (event))
{
static bool enableAll = false;
-
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; ++i)
{
ToggleLog(i, enableAll);
}
+ SaveSettings();
enableAll = !enableAll;
}
@@ -244,19 +243,24 @@ void CLogWindow::UpdateChecks()
{
// [F|RES] hide the window while we fill it... wxwidgets gets trouble
// if you don't do it (at least the win version)
- m_checks->Show(false);
+ m_checks->Freeze();
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; i++)
{
m_checks->Append(wxString::FromAscii(m_logManager->getFullName( (LogTypes::LOG_TYPE)i )));
}
- m_checks->Show(true);
+ m_checks->Thaw();
}
+ m_checks->Freeze();
for (int i = 0; i < LogTypes::NUMBER_OF_LOGS; i++)
{
- m_checks->Check(i, m_logManager->isListener((LogTypes::LOG_TYPE)i, this));
+ m_checks->Check(i,
+ m_logManager->isListener((LogTypes::LOG_TYPE)i, this) ||
+ m_logManager->isListener((LogTypes::LOG_TYPE)i, m_console) ||
+ m_logManager->isListener((LogTypes::LOG_TYPE)i, m_fileLog));
}
+ m_checks->Thaw();
}
// When an option is changed, save the change
@@ -329,6 +333,8 @@ void CLogWindow::OnLogCheck(wxCommandEvent& event)
{
int i = event.GetInt();
ToggleLog(i, m_checks->IsChecked(i));
+
+ SaveSettings();
}
void CLogWindow::ToggleLog(int _logType, bool enable)
@@ -354,8 +360,6 @@ void CLogWindow::ToggleLog(int _logType, bool enable)
m_logManager->removeListener(logType, m_fileLog);
m_logManager->removeListener(logType, m_console);
}
-
- SaveSettings();
}
void CLogWindow::OnLogTimer(wxTimerEvent& WXUNUSED(event))