X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bac6b9676c41afbe361b9412e749449b669bfc80..28be2e8a170979d476a5ea4f585505b8a2f5af27:/src/common/event.cpp diff --git a/src/common/event.cpp b/src/common/event.cpp index 4f06fadc19..87eda81fdb 100644 --- a/src/common/event.cpp +++ b/src/common/event.cpp @@ -82,6 +82,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent) IMPLEMENT_DYNAMIC_CLASS(wxQueryNewPaletteEvent, wxEvent) IMPLEMENT_DYNAMIC_CLASS(wxWindowCreateEvent, wxEvent) IMPLEMENT_DYNAMIC_CLASS(wxWindowDestroyEvent, wxEvent) + IMPLEMENT_DYNAMIC_CLASS(wxHelpEvent, wxCommandEvent) #endif // wxUSE_GUI const wxEventTable *wxEvtHandler::GetEventTable() const @@ -524,14 +525,12 @@ void wxQueryNewPaletteEvent::CopyObject(wxObject& obj_d) const } wxWindowCreateEvent::wxWindowCreateEvent(wxWindow *win) - : wxEvent() { SetEventType(wxEVT_CREATE); SetEventObject(win); } wxWindowDestroyEvent::wxWindowDestroyEvent(wxWindow *win) - : wxEvent() { SetEventType(wxEVT_DESTROY); SetEventObject(win); @@ -803,7 +802,14 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event) // BC++ doesn't like testing for m_fn without != 0 for ( int i = 0; table.entries[i].m_fn != 0; i++ ) { + // the line using reference exposes a bug in gcc: although it _seems_ + // to work, it leads to weird crashes later on during program + // execution +#ifdef __GNUG__ + wxEventTableEntry entry = table.entries[i]; +#else const wxEventTableEntry& entry = table.entries[i]; +#endif // match only if the event type is the same and the id is either -1 in // the event table (meaning "any") or the event id matches the id