added accessor function to hide __VISAGECPP__ ugliness and avoid having #ifdef's for it every other line
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
9e91f49d7d
commit
cd30330fc6
@ -2417,8 +2417,14 @@ protected:
|
|||||||
|
|
||||||
#if wxUSE_THREADS
|
#if wxUSE_THREADS
|
||||||
#if defined (__VISAGECPP__)
|
#if defined (__VISAGECPP__)
|
||||||
|
const wxCriticalSection& Lock() const { return m_eventsLocker; }
|
||||||
|
wxCriticalSection& Lock() { return m_eventsLocker; }
|
||||||
|
|
||||||
wxCriticalSection m_eventsLocker;
|
wxCriticalSection m_eventsLocker;
|
||||||
# else
|
# else
|
||||||
|
const wxCriticalSection& Lock() const { return *m_eventsLocker; }
|
||||||
|
wxCriticalSection& Lock() { return *m_eventsLocker; }
|
||||||
|
|
||||||
wxCriticalSection* m_eventsLocker;
|
wxCriticalSection* m_eventsLocker;
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -1089,22 +1089,14 @@ void wxEvtHandler::AddPendingEvent(wxEvent& event)
|
|||||||
wxCHECK_RET( eventCopy,
|
wxCHECK_RET( eventCopy,
|
||||||
_T("events of this type aren't supposed to be posted") );
|
_T("events of this type aren't supposed to be posted") );
|
||||||
|
|
||||||
#if defined(__VISAGECPP__)
|
wxENTER_CRIT_SECT( Lock() );
|
||||||
wxENTER_CRIT_SECT( m_eventsLocker);
|
|
||||||
#else
|
|
||||||
wxENTER_CRIT_SECT( *m_eventsLocker);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ( !m_pendingEvents )
|
if ( !m_pendingEvents )
|
||||||
m_pendingEvents = new wxList;
|
m_pendingEvents = new wxList;
|
||||||
|
|
||||||
m_pendingEvents->Append(eventCopy);
|
m_pendingEvents->Append(eventCopy);
|
||||||
|
|
||||||
#if defined(__VISAGECPP__)
|
wxLEAVE_CRIT_SECT( Lock() );
|
||||||
wxLEAVE_CRIT_SECT( m_eventsLocker);
|
|
||||||
#else
|
|
||||||
wxLEAVE_CRIT_SECT( *m_eventsLocker);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// 2) Add this event handler to list of event handlers that
|
// 2) Add this event handler to list of event handlers that
|
||||||
// have pending events.
|
// have pending events.
|
||||||
@ -1129,11 +1121,7 @@ void wxEvtHandler::ProcessPendingEvents()
|
|||||||
wxCHECK_RET( m_pendingEvents,
|
wxCHECK_RET( m_pendingEvents,
|
||||||
wxT("Please call wxApp::ProcessPendingEvents() instead") );
|
wxT("Please call wxApp::ProcessPendingEvents() instead") );
|
||||||
|
|
||||||
#if defined(__VISAGECPP__)
|
wxENTER_CRIT_SECT( Lock() );
|
||||||
wxENTER_CRIT_SECT( m_eventsLocker);
|
|
||||||
#else
|
|
||||||
wxENTER_CRIT_SECT( *m_eventsLocker);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// remember last event to process during this iteration
|
// remember last event to process during this iteration
|
||||||
wxList::compatibility_iterator lastPendingNode = m_pendingEvents->GetLast();
|
wxList::compatibility_iterator lastPendingNode = m_pendingEvents->GetLast();
|
||||||
@ -1146,18 +1134,10 @@ void wxEvtHandler::ProcessPendingEvents()
|
|||||||
|
|
||||||
// In ProcessEvent, new events might get added and
|
// In ProcessEvent, new events might get added and
|
||||||
// we can safely leave the crtical section here.
|
// we can safely leave the crtical section here.
|
||||||
#if defined(__VISAGECPP__)
|
wxLEAVE_CRIT_SECT( Lock() );
|
||||||
wxLEAVE_CRIT_SECT( m_eventsLocker);
|
|
||||||
#else
|
|
||||||
wxLEAVE_CRIT_SECT( *m_eventsLocker);
|
|
||||||
#endif
|
|
||||||
ProcessEvent(*event);
|
ProcessEvent(*event);
|
||||||
delete event;
|
delete event;
|
||||||
#if defined(__VISAGECPP__)
|
wxENTER_CRIT_SECT( Lock() );
|
||||||
wxENTER_CRIT_SECT( m_eventsLocker);
|
|
||||||
#else
|
|
||||||
wxENTER_CRIT_SECT( *m_eventsLocker);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// leave the loop once we have processed all events that were present
|
// leave the loop once we have processed all events that were present
|
||||||
// at the start of ProcessPendingEvents because otherwise we could get
|
// at the start of ProcessPendingEvents because otherwise we could get
|
||||||
@ -1169,11 +1149,7 @@ void wxEvtHandler::ProcessPendingEvents()
|
|||||||
node = m_pendingEvents->GetFirst();
|
node = m_pendingEvents->GetFirst();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(__VISAGECPP__)
|
wxLEAVE_CRIT_SECT( Lock() );
|
||||||
wxLEAVE_CRIT_SECT( m_eventsLocker);
|
|
||||||
#else
|
|
||||||
wxLEAVE_CRIT_SECT( *m_eventsLocker);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user