X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/924ef85080e1b257900110f0c3298a8c19acaeab..94fc5183e9f56fda8e87293a6d9aff2859f623ba:/src/common/event.cpp?ds=inline diff --git a/src/common/event.cpp b/src/common/event.cpp index 5a420067a3..97f135ff08 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -524,14 +524,16 @@ void wxQueryNewPaletteEvent::CopyObject(wxObject& obj_d) const } wxWindowCreateEvent::wxWindowCreateEvent(wxWindow *win) - : wxEvent(wxEVT_CREATE) + : wxEvent() { + SetEventType(wxEVT_CREATE); SetEventObject(win); } wxWindowDestroyEvent::wxWindowDestroyEvent(wxWindow *win) - : wxEvent(wxEVT_DESTROY) + : wxEvent() { + SetEventType(wxEVT_DESTROY); SetEventObject(win); } @@ -635,19 +637,18 @@ void wxEvtHandler::AddPendingEvent(wxEvent& event) // 2) Add this event handler to list of event handlers that // have pending events. - + wxENTER_CRIT_SECT(*wxPendingEventsLocker); if ( !wxPendingEvents ) wxPendingEvents = new wxList; wxPendingEvents->Append(this); + wxLEAVE_CRIT_SECT(*wxPendingEventsLocker); + // 3) Inform the system that new pending events are somwehere, // and that these should be processed in idle time. - wxWakeUpIdle(); - - wxLEAVE_CRIT_SECT(*wxPendingEventsLocker); } void wxEvtHandler::ProcessPendingEvents() @@ -663,9 +664,9 @@ void wxEvtHandler::ProcessPendingEvents() { wxEvent *event = (wxEvent *)node->Data(); delete node; - + // 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( m_eventsLocker); #else @@ -678,10 +679,10 @@ void wxEvtHandler::ProcessPendingEvents() #else wxENTER_CRIT_SECT( *m_eventsLocker); #endif - + node = m_pendingEvents->First(); } - + #if defined(__VISAGECPP__) wxLEAVE_CRIT_SECT( m_eventsLocker); #else @@ -852,7 +853,7 @@ bool wxEvtHandler::Disconnect( int id, int lastId, wxEventType eventType, { if (!m_dynamicEvents) return FALSE; - + wxNode *node = m_dynamicEvents->First(); while (node) {