]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
wxMGL compilation fixes
[wxWidgets.git] / include / wx / app.h
index 220c68a12849f2a24127109962d72cefd1ac2ee7..eb507ed17d3f6e14ee64a144c359b266debe5e79 100644 (file)
@@ -141,6 +141,14 @@ public:
     // crash.
     virtual void OnFatalException() { }
 
+#if wxUSE_EXCEPTIONS
+    // Called when an unhandled C++ exception occurs inside OnRun(): note that
+    // the exception type is lost by now, so if you really want to handle the
+    // exception you should override OnRun() and put a try/catch around
+    // MainLoop() call there
+    virtual void OnUnhandledException() { }
+#endif // wxUSE_EXCEPTIONS
+
     // Called from wxExit() function, should terminate the application a.s.a.p.
     virtual void Exit();
 
@@ -239,6 +247,17 @@ public:
     // had been already processed or won't be processed at all, respectively
     virtual int FilterEvent(wxEvent& event);
 
+#if wxUSE_EXCEPTIONS
+    // call the specified handler on the given object 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 HandleEvent(wxEvtHandler *handler,
+                             wxEventFunction func,
+                             wxEvent& event) const;
+#endif // wxUSE_EXCEPTIONS
+
     // process all events in the wxPendingEvents list -- it is necessary to
     // call this function to process posted events. This happens during each
     // event loop iteration in GUI mode but if there is no main loop, it may be