diff --git a/include/wx/event.h b/include/wx/event.h index 7898489b97..622a44a973 100644 --- a/include/wx/event.h +++ b/include/wx/event.h @@ -78,7 +78,7 @@ typedef int wxEventType; #define wxStaticCastEvent(type, val) static_cast(val) #define DECLARE_EVENT_TABLE_ENTRY(type, winid, idLast, fn, obj) \ - wxEventTableEntry(type, winid, idLast, wxNewEventFunctor(type, fn), obj) + wxEventTableEntry(type, winid, idLast, wxNewEventTableFunctor(type, fn), obj) #define DECLARE_EVENT_TABLE_TERMINATOR() \ wxEventTableEntry(wxEVT_NULL, 0, 0, 0, 0) @@ -507,25 +507,17 @@ wxMakeEventFunctor(const EventTag&, method, handler); } -// Special case for the wxNewEventFunctor() calls used inside the event table -// macros: they don't specify the handler so EventHandler can't be deduced +// Create an event functor for the event table via DECLARE_EVENT_TABLE_ENTRY: +// in this case we don't have the handler (as it's always the same as the +// object which generated the event) so we must use Class as its type template inline wxEventFunctorMethod * -wxNewEventFunctor(const EventTag&, void (Class::*method)(EventArg&)) +wxNewEventTableFunctor(const EventTag&, void (Class::*method)(EventArg&)) { return new wxEventFunctorMethod( method, NULL); } -template - -inline wxEventFunctorMethod -wxMakeEventFunctor(const EventTag&, void (Class::*method)(EventArg&)) -{ - return wxEventFunctorMethod( - method, NULL); -} - #endif // !wxEVENTS_COMPATIBILITY_2_8