changed exceptions handling to work under wxGTK

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2005-06-20 08:20:50 +00:00
parent 6c3c55cf30
commit 924b84ab94
14 changed files with 146 additions and 80 deletions

View File

@@ -2295,6 +2295,8 @@ protected:
// wxEvtHandler: the base class for all objects handling wxWidgets events
// ----------------------------------------------------------------------------
typedef void (wxEvtHandler::*wxEventFunction)(wxEvent&);
class WXDLLIMPEXP_BASE wxEvtHandler : public wxObject
{
public:
@@ -2322,6 +2324,15 @@ public:
bool ProcessThreadEvent(wxEvent& event);
#endif
#if wxUSE_EXCEPTIONS
// call the specified handler with the given event
//
// this method only exists to allow catching the exceptions thrown by any
// event handler, it would lead to an extra (useless) virtual function call
// if the exceptions were not used, so it doesn't even exist in that case
virtual void DoHandleEvent(wxEventFunction func, wxEvent& event);
#endif // wxUSE_EXCEPTIONS
// Dynamic association of a member function handler with the event handler,
// winid and event type
void Connect(int winid,
@@ -2482,8 +2493,6 @@ inline void wxPostEvent(wxEvtHandler *dest, wxEvent& event)
dest->AddPendingEvent(event);
}
typedef void (wxEvtHandler::*wxEventFunction)(wxEvent&);
#define wxEventHandler(func) \
(wxObjectEventFunction)wxStaticCastEvent(wxEventFunction, &func)