X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0757d27c1ef472cda74b1a35fd19938e5936e965..6f34921d9369a31de14e4b07e4824e2d701710f0:/src/common/event.cpp diff --git a/src/common/event.cpp b/src/common/event.cpp index d3cb798bdf..2cc283f10d 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -56,13 +56,22 @@ IMPLEMENT_DYNAMIC_CLASS(wxSysColourChangedEvent, wxEvent) IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent) IMPLEMENT_DYNAMIC_CLASS(wxUpdateUIEvent, wxEvent) IMPLEMENT_DYNAMIC_CLASS(wxNavigationKeyEvent, wxCommandEvent) +IMPLEMENT_DYNAMIC_CLASS(wxPaletteChangedEvent, wxEvent) +IMPLEMENT_DYNAMIC_CLASS(wxQueryNewPaletteEvent, wxEvent) const wxEventTable *wxEvtHandler::GetEventTable() const { return &wxEvtHandler::sm_eventTable; } const wxEventTable wxEvtHandler::sm_eventTable = - { NULL, &wxEvtHandler::sm_eventTableEntries[0] }; - -const wxEventTableEntry wxEvtHandler::sm_eventTableEntries[] = { { 0, 0, 0, NULL } }; + { (const wxEventTable *) NULL, &wxEvtHandler::sm_eventTableEntries[0] }; + +const wxEventTableEntry wxEvtHandler::sm_eventTableEntries[] = { { 0, 0, 0, +#ifdef __SGI_CC__ +// stupid SGI compiler --- offer aug 98 + 0L } +#else + NULL } +#endif +}; #endif @@ -78,12 +87,12 @@ const wxEventTableEntry wxEvtHandler::sm_eventTableEntries[] = { { 0, 0, 0, NULL wxEvent::wxEvent(int theId) { m_eventType = wxEVT_NULL; - m_eventObject = NULL; - m_eventHandle = NULL; + m_eventObject = (wxObject *) NULL; + m_eventHandle = (char *) NULL; m_timeStamp = 0; m_id = theId; m_skipped = FALSE; - m_callbackUserData = NULL; + m_callbackUserData = (wxObject *) NULL; } /* @@ -94,11 +103,11 @@ wxEvent::wxEvent(int theId) wxCommandEvent::wxCommandEvent(wxEventType commandType, int theId) { m_eventType = commandType; - m_clientData = NULL; + m_clientData = (char *) NULL; m_extraLong = 0; m_commandInt = 0; m_id = theId; - m_commandString = NULL; + m_commandString = (char *) NULL; } /* @@ -248,11 +257,11 @@ wxKeyEvent::wxKeyEvent(wxEventType type) wxEvtHandler::wxEvtHandler(void) { - m_clientData = NULL; - m_nextHandler = NULL; - m_previousHandler = NULL; + m_clientData = (char *) NULL; + m_nextHandler = (wxEvtHandler *) NULL; + m_previousHandler = (wxEvtHandler *) NULL; m_enabled = TRUE; - m_dynamicEvents = NULL; + m_dynamicEvents = (wxList *) NULL; } wxEvtHandler::~wxEvtHandler(void) @@ -342,8 +351,11 @@ bool wxEvtHandler::ProcessEvent(wxEvent& event) return win->GetParent()->GetEventHandler()->ProcessEvent(event); } - // Last try - application object - if (wxTheApp && this != wxTheApp && wxTheApp->ProcessEvent(event)) + // Last try - application object. + // Special case: don't pass wxEVT_IDLE to wxApp, since it'll always swallow it. + // wxEVT_IDLE is sent explicitly to wxApp so it will be processed appropriately + // via SearchEventTable. + if (wxTheApp && this != wxTheApp && (event.GetEventType() != wxEVT_IDLE) && wxTheApp->ProcessEvent(event)) return TRUE; else return FALSE; @@ -354,7 +366,13 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event) int i = 0; int commandId = event.GetId(); - while (table.entries[i].m_fn != NULL) + while (table.entries[i].m_fn != +#ifdef __SGI_CC__ + 0L +#else + NULL +#endif + ) { // wxEventType eventType = (wxEventType) table.entries[i].m_eventType;