wxCriticalSection changes undone - should work now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
7d532b0ceb
commit
26128999a7
@ -1461,12 +1461,16 @@ void wxArrayString::Remove(const char *sz)
|
||||
|
||||
// need a critical section to protect access to gs_compareFunction and
|
||||
// gs_sortAscending variables
|
||||
static wxCriticalSection gs_critsectStringSort;
|
||||
static wxCriticalSection *gs_critsectStringSort = NULL;
|
||||
|
||||
// call this before the value of the global sort vars is changed/after
|
||||
// you're finished with them
|
||||
#define START_SORT() gs_critsectStringSort.Enter()
|
||||
#define END_SORT() gs_critsectStringSort.Leave()
|
||||
#define START_SORT() wxASSERT( !gs_critsectStringSort ); \
|
||||
gs_critsectStringSort = new wxCriticalSection; \
|
||||
gs_critsectStringSort->Enter()
|
||||
#define END_SORT() gs_critsectStringSort->Leave(); \
|
||||
delete gs_critsectStringSort; \
|
||||
gs_critsectStringSort = NULL
|
||||
#else // !threads
|
||||
#define START_SORT()
|
||||
#define END_SORT()
|
||||
|
@ -257,29 +257,22 @@ private:
|
||||
|
||||
wxCriticalSection::wxCriticalSection()
|
||||
{
|
||||
m_critsect = NULL;
|
||||
m_critsect = new wxCriticalSectionInternal;
|
||||
}
|
||||
|
||||
wxCriticalSection::~wxCriticalSection()
|
||||
{
|
||||
wxASSERT_MSG( !m_critsect, "Forgot to Leave() critical section" );
|
||||
delete m_critsect;
|
||||
}
|
||||
|
||||
void wxCriticalSection::Enter()
|
||||
{
|
||||
m_critsect = new wxCriticalSectionInternal;
|
||||
|
||||
::EnterCriticalSection(*m_critsect);
|
||||
}
|
||||
|
||||
void wxCriticalSection::Leave()
|
||||
{
|
||||
wxCHECK_RET( m_critsect, "Leave() without matching Enter()" );
|
||||
|
||||
::LeaveCriticalSection(*m_critsect);
|
||||
|
||||
delete m_critsect;
|
||||
m_critsect = NULL;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user