// No warning
#elif defined(__SUNCC__)
// nothing -- I don't know about "#warning" for Sun's CC
+#elif defined(__DECCXX)
+ // nothing
#else
// change this to some analogue of '#warning' for your compiler
#error "Using sprintf() because no snprintf()-like function defined"
// 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()
wxString *strFirst = (wxString *)first;
wxString *strSecond = (wxString *)second;
- if ( gs_compareFunction )
+ if ( gs_compareFunction ) {
return gs_compareFunction(*strFirst, *strSecond);
+ }
else {
int result = strcmp(strFirst->c_str(), strSecond->c_str());