Fix some excessive idle event processing introduced by my earlier log spam commit.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2511 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
Jake.Stine 2010-01-24 13:13:49 +00:00
parent 2c013c9126
commit 541ef9956e
4 changed files with 27 additions and 6 deletions

View File

@ -101,7 +101,6 @@ void wxAppWithHelpers::DeletionDispatcher()
void wxAppWithHelpers::OnIdleEvent( wxIdleEvent& evt )
{
evt.Skip();
m_PingTimer.Stop();
PingDispatcher( "Idle" );
}

View File

@ -596,15 +596,21 @@ void ConsoleLogFrame::OnIdleEvent( wxIdleEvent& )
{
// When the GUI is idle then it's a safe bet we can resume suspended console log
// flushing, on the theory that the user's had a good chance to field user input.
m_flushevent_counter = 0;
m_timer_FlushLimiter.Stop();
wxCommandEvent sendevt( wxEVT_FlushQueue );
GetEventHandler()->AddPendingEvent( sendevt );
if( m_flushevent_counter > 0 )
{
m_flushevent_counter = 0;
m_timer_FlushLimiter.Stop();
wxCommandEvent sendevt( wxEVT_FlushQueue );
GetEventHandler()->AddPendingEvent( sendevt );
}
}
void ConsoleLogFrame::OnFlushLimiterTimer( wxTimerEvent& )
{
if( m_flushevent_counter == 0 ) return;
m_flushevent_counter = 0;
wxCommandEvent sendevt( wxEVT_FlushQueue );

View File

@ -269,6 +269,18 @@ wxStaticText* GSFrame::GetLabel_OutputDisabled() const
return (wxStaticText*)FindWindowById( m_id_OutputDisabled );
}
void GSFrame::CoreThread_OnResumed()
{
m_timer_UpdateTitle.Start( 333 );
}
void GSFrame::CoreThread_OnSuspended()
{
// Could stop the timer outright here, tho no harm in having an occasional
// update here or there, just in case some state info changes while emu is suspended.
m_timer_UpdateTitle.Start( 2000 );
}
// overrides base Show behavior.
bool GSFrame::Show( bool shown )
{

View File

@ -72,7 +72,9 @@ protected:
// --------------------------------------------------------------------------------------
// GSFrame
// --------------------------------------------------------------------------------------
class GSFrame : public wxFrame, public EventListener_AppStatus
class GSFrame : public wxFrame,
public EventListener_AppStatus,
public EventListener_CoreThread
{
typedef wxFrame _parent;
@ -99,6 +101,8 @@ protected:
void OnUpdateTitle( wxTimerEvent& evt );
void AppStatusEvent_OnSettingsApplied();
void CoreThread_OnResumed();
void CoreThread_OnSuspended();
};
struct PluginMenuAddition