* Changed "wxPendingEvents" to pointers (tested on GTK)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
103aec296a
commit
4d3a259aff
@ -80,8 +80,8 @@
|
||||
|
||||
#if wxUSE_THREADS
|
||||
/* To put pending event handlers */
|
||||
extern wxList wxPendingEvents;
|
||||
extern wxCriticalSection wxPendingEventsLocker;
|
||||
extern wxList *wxPendingEvents;
|
||||
extern wxCriticalSection *wxPendingEventsLocker;
|
||||
#endif
|
||||
|
||||
/*
|
||||
@ -342,9 +342,9 @@ bool wxEvtHandler::ProcessThreadEvent(wxEvent& event)
|
||||
|
||||
m_pendingEvents->Append(event_main);
|
||||
|
||||
wxPendingEventsLocker.Enter();
|
||||
wxPendingEvents.Append(this);
|
||||
wxPendingEventsLocker.Leave();
|
||||
wxPendingEventsLocker->Enter();
|
||||
wxPendingEvents->Append(this);
|
||||
wxPendingEventsLocker->Leave();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -47,8 +47,8 @@ wxAppInitializerFunction wxApp::m_appInitFn = (wxAppInitializerFunction) NULL;
|
||||
|
||||
extern wxList wxPendingDelete;
|
||||
#if wxUSE_THREADS
|
||||
extern wxList wxPendingEvents;
|
||||
extern wxCriticalSection wxPendingEventsLocker;
|
||||
extern wxList *wxPendingEvents;
|
||||
extern wxCriticalSection *wxPendingEventsLocker;
|
||||
#endif
|
||||
extern wxResourceCache *wxTheResourceCache;
|
||||
|
||||
@ -380,8 +380,8 @@ void wxApp::Dispatch()
|
||||
#if wxUSE_THREADS
|
||||
void wxApp::ProcessPendingEvents()
|
||||
{
|
||||
wxNode *node = wxPendingEvents.First();
|
||||
wxCriticalSectionLocker locker(wxPendingEventsLocker);
|
||||
wxNode *node = wxPendingEvents->First();
|
||||
wxCriticalSectionLocker locker(*wxPendingEventsLocker);
|
||||
|
||||
while (node)
|
||||
{
|
||||
@ -391,7 +391,7 @@ void wxApp::ProcessPendingEvents()
|
||||
|
||||
delete node;
|
||||
|
||||
node = wxPendingEvents.First();
|
||||
node = wxPendingEvents->First();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -435,6 +435,13 @@ bool wxApp::Initialize()
|
||||
|
||||
wxSystemSettings::Init();
|
||||
|
||||
// GL: I'm annoyed ... I don't know where to put this and I don't want to
|
||||
// create a module for that as it's part of the core.
|
||||
#if wxUSE_THREADS
|
||||
wxPendingEvents = new wxList();
|
||||
wxPendingEventsLocker = new wxCriticalSection();
|
||||
#endif
|
||||
|
||||
/*
|
||||
wxTheFontNameDirectory = new wxFontNameDirectory;
|
||||
wxTheFontNameDirectory->Initialize();
|
||||
@ -495,6 +502,13 @@ void wxApp::CleanUp()
|
||||
delete wxTheApp;
|
||||
wxTheApp = (wxApp*) NULL;
|
||||
|
||||
// GL: I'm annoyed ... I don't know where to put this and I don't want to
|
||||
// create a module for that as it's part of the core.
|
||||
#if wxUSE_THREADS
|
||||
delete wxPendingEvents;
|
||||
delete wxPendingEventsLocker;
|
||||
#endif
|
||||
|
||||
wxSystemSettings::Done();
|
||||
|
||||
delete[] wxBuffer;
|
||||
|
@ -40,8 +40,8 @@ wxList wxPendingDelete;
|
||||
|
||||
#if wxUSE_THREADS
|
||||
/* List of events pending processing */
|
||||
wxList wxPendingEvents;
|
||||
wxCriticalSection wxPendingEventsLocker;
|
||||
wxList *wxPendingEvents = NULL;
|
||||
wxCriticalSection *wxPendingEventsLocker = NULL;
|
||||
#endif
|
||||
|
||||
/* Current cursor, in order to hang on to
|
||||
|
@ -47,8 +47,8 @@ wxAppInitializerFunction wxApp::m_appInitFn = (wxAppInitializerFunction) NULL;
|
||||
|
||||
extern wxList wxPendingDelete;
|
||||
#if wxUSE_THREADS
|
||||
extern wxList wxPendingEvents;
|
||||
extern wxCriticalSection wxPendingEventsLocker;
|
||||
extern wxList *wxPendingEvents;
|
||||
extern wxCriticalSection *wxPendingEventsLocker;
|
||||
#endif
|
||||
extern wxResourceCache *wxTheResourceCache;
|
||||
|
||||
@ -380,8 +380,8 @@ void wxApp::Dispatch()
|
||||
#if wxUSE_THREADS
|
||||
void wxApp::ProcessPendingEvents()
|
||||
{
|
||||
wxNode *node = wxPendingEvents.First();
|
||||
wxCriticalSectionLocker locker(wxPendingEventsLocker);
|
||||
wxNode *node = wxPendingEvents->First();
|
||||
wxCriticalSectionLocker locker(*wxPendingEventsLocker);
|
||||
|
||||
while (node)
|
||||
{
|
||||
@ -391,7 +391,7 @@ void wxApp::ProcessPendingEvents()
|
||||
|
||||
delete node;
|
||||
|
||||
node = wxPendingEvents.First();
|
||||
node = wxPendingEvents->First();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -435,6 +435,13 @@ bool wxApp::Initialize()
|
||||
|
||||
wxSystemSettings::Init();
|
||||
|
||||
// GL: I'm annoyed ... I don't know where to put this and I don't want to
|
||||
// create a module for that as it's part of the core.
|
||||
#if wxUSE_THREADS
|
||||
wxPendingEvents = new wxList();
|
||||
wxPendingEventsLocker = new wxCriticalSection();
|
||||
#endif
|
||||
|
||||
/*
|
||||
wxTheFontNameDirectory = new wxFontNameDirectory;
|
||||
wxTheFontNameDirectory->Initialize();
|
||||
@ -495,6 +502,13 @@ void wxApp::CleanUp()
|
||||
delete wxTheApp;
|
||||
wxTheApp = (wxApp*) NULL;
|
||||
|
||||
// GL: I'm annoyed ... I don't know where to put this and I don't want to
|
||||
// create a module for that as it's part of the core.
|
||||
#if wxUSE_THREADS
|
||||
delete wxPendingEvents;
|
||||
delete wxPendingEventsLocker;
|
||||
#endif
|
||||
|
||||
wxSystemSettings::Done();
|
||||
|
||||
delete[] wxBuffer;
|
||||
|
@ -40,8 +40,8 @@ wxList wxPendingDelete;
|
||||
|
||||
#if wxUSE_THREADS
|
||||
/* List of events pending processing */
|
||||
wxList wxPendingEvents;
|
||||
wxCriticalSection wxPendingEventsLocker;
|
||||
wxList *wxPendingEvents = NULL;
|
||||
wxCriticalSection *wxPendingEventsLocker = NULL;
|
||||
#endif
|
||||
|
||||
/* Current cursor, in order to hang on to
|
||||
|
@ -51,8 +51,8 @@ extern char *wxBuffer;
|
||||
extern wxList wxPendingDelete;
|
||||
|
||||
#if wxUSE_THREADS
|
||||
extern wxList wxPendingEvents;
|
||||
extern wxCriticalSection wxPendingEventsLocker;
|
||||
extern wxList *wxPendingEvents;
|
||||
extern wxCriticalSection *wxPendingEventsLocker;
|
||||
#endif // wxUSE_THREADS
|
||||
|
||||
wxApp *wxTheApp = NULL;
|
||||
@ -75,6 +75,13 @@ bool wxApp::Initialize()
|
||||
|
||||
wxClassInfo::InitializeClasses();
|
||||
|
||||
// GL: I'm annoyed ... I don't know where to put this and I don't want to
|
||||
// create a module for that as it's part of the core.
|
||||
#if wxUSE_THREADS
|
||||
wxPendingEvents = new wxList();
|
||||
wxPendingEventsLocker = new wxCriticalSection();
|
||||
#endif
|
||||
|
||||
wxTheColourDatabase = new wxColourDatabase(wxKEY_STRING);
|
||||
wxTheColourDatabase->Initialize();
|
||||
|
||||
@ -152,6 +159,13 @@ void wxApp::CleanUp()
|
||||
delete wxTheApp;
|
||||
wxTheApp = NULL;
|
||||
|
||||
// GL: I'm annoyed ... I don't know where to put this and I don't want to
|
||||
// create a module for that as it's part of the core.
|
||||
#if wxUSE_THREADS
|
||||
delete wxPendingEvents;
|
||||
delete wxPendingEventsLocker;
|
||||
#endif
|
||||
|
||||
#if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
|
||||
// At this point we want to check if there are any memory
|
||||
// blocks that aren't part of the wxDebugContext itself,
|
||||
@ -496,8 +510,8 @@ void wxApp::DeletePendingObjects()
|
||||
#if wxUSE_THREADS
|
||||
void wxApp::ProcessPendingEvents()
|
||||
{
|
||||
wxNode *node = wxPendingEvents.First();
|
||||
wxCriticalSectionLocker locker(wxPendingEventsLocker);
|
||||
wxNode *node = wxPendingEvents->First();
|
||||
wxCriticalSectionLocker locker(*wxPendingEventsLocker);
|
||||
|
||||
while (node)
|
||||
{
|
||||
@ -506,7 +520,7 @@ void wxApp::ProcessPendingEvents()
|
||||
handler->ProcessPendingEvents();
|
||||
|
||||
delete node;
|
||||
node = wxPendingEvents.First();
|
||||
node = wxPendingEvents->First();
|
||||
}
|
||||
}
|
||||
#endif // wxUSE_THREADS
|
||||
|
@ -29,8 +29,8 @@ wxList wxPendingDelete;
|
||||
|
||||
#if wxUSE_THREADS
|
||||
// List of events pending propagation
|
||||
wxList wxPendingEvents;
|
||||
wxCriticalSection wxPendingEventsLocker;
|
||||
wxList *wxPendingEvents = NULL;
|
||||
wxCriticalSection *wxPendingEventsLocker = NULL;
|
||||
#endif
|
||||
|
||||
int wxPageNumber;
|
||||
|
@ -93,8 +93,8 @@ extern char *wxOsVersion;
|
||||
extern wxList *wxWinHandleList;
|
||||
extern wxList WXDLLEXPORT wxPendingDelete;
|
||||
#if wxUSE_THREADS
|
||||
extern wxList wxPendingEvents;
|
||||
extern wxCriticalSection wxPendingEventsLocker;
|
||||
extern wxList *wxPendingEvents;
|
||||
extern wxCriticalSection *wxPendingEventsLocker;
|
||||
#endif
|
||||
extern void wxSetKeyboardHook(bool doIt);
|
||||
extern wxCursor *g_globalCursor;
|
||||
@ -169,6 +169,12 @@ bool wxApp::Initialize()
|
||||
wxGetResource("wxWindows", "OsVersion", &wxOsVersion);
|
||||
#endif
|
||||
|
||||
// I'm annoyed ... I don't know where to put this and I don't want to create // a module for that as it's part of the core.
|
||||
#if wxUSE_THREADS
|
||||
wxPendingEvents = new wxList();
|
||||
wxPendingEventsLocker = new wxCriticalSection();
|
||||
#endif
|
||||
|
||||
wxTheColourDatabase = new wxColourDatabase(wxKEY_STRING);
|
||||
wxTheColourDatabase->Initialize();
|
||||
|
||||
@ -551,6 +557,13 @@ void wxApp::CleanUp()
|
||||
if (wxWinHandleList)
|
||||
delete wxWinHandleList ;
|
||||
|
||||
// GL: I'm annoyed ... I don't know where to put this and I don't want to
|
||||
// create a module for that as it's part of the core.
|
||||
#if wxUSE_THREADS
|
||||
delete wxPendingEvents;
|
||||
delete wxPendingEventsLocker;
|
||||
#endif
|
||||
|
||||
wxClassInfo::CleanUpClasses();
|
||||
|
||||
delete wxTheApp;
|
||||
@ -922,8 +935,8 @@ bool wxApp::ProcessIdle()
|
||||
#if wxUSE_THREADS
|
||||
void wxApp::ProcessPendingEvents()
|
||||
{
|
||||
wxNode *node = wxPendingEvents.First();
|
||||
wxCriticalSectionLocker locker(wxPendingEventsLocker);
|
||||
wxNode *node = wxPendingEvents->First();
|
||||
wxCriticalSectionLocker locker(*wxPendingEventsLocker);
|
||||
|
||||
while (node)
|
||||
{
|
||||
@ -932,7 +945,7 @@ void wxApp::ProcessPendingEvents()
|
||||
handler->ProcessPendingEvents();
|
||||
|
||||
delete node;
|
||||
node = wxPendingEvents.First();
|
||||
node = wxPendingEvents->First();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -39,8 +39,8 @@ wxList WXDLLEXPORT wxPendingDelete;
|
||||
|
||||
// List of events pending processing
|
||||
#if wxUSE_THREADS
|
||||
wxList wxPendingEvents;
|
||||
wxCriticalSection wxPendingEventsLocker;
|
||||
wxList *wxPendingEvents = NULL;
|
||||
wxCriticalSection *wxPendingEventsLocker = NULL;
|
||||
#endif
|
||||
|
||||
// Current cursor, in order to hang on to
|
||||
|
Loading…
Reference in New Issue
Block a user