X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5dbe15d0bacde245539f54c4d97af6b4696f01f..d7b468788e860e7e39bb55bb921f757207b6f9fe:/include/wx/stackwalk.h diff --git a/include/wx/stackwalk.h b/include/wx/stackwalk.h index 144dbd8e6d..ed91376986 100644 --- a/include/wx/stackwalk.h +++ b/include/wx/stackwalk.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: wx/wx/stackwalk.h +// Name: wx/stackwalk.h // Purpose: wxStackWalker and related classes, common part // Author: Vadim Zeitlin // Modified by: @@ -18,6 +18,8 @@ class WXDLLIMPEXP_FWD_BASE wxStackFrame; +#define wxSTACKWALKER_MAX_DEPTH (200) + // ---------------------------------------------------------------------------- // wxStackFrame: a single stack level // ---------------------------------------------------------------------------- @@ -27,7 +29,7 @@ class WXDLLIMPEXP_BASE wxStackFrameBase private: // put this inline function here so that it is defined before use wxStackFrameBase *ConstCast() const - { return wx_const_cast(wxStackFrameBase *, this); } + { return const_cast(this); } public: wxStackFrameBase(size_t level, void *address = NULL) @@ -130,19 +132,21 @@ public: // number of them (this can be useful when Walk() is called from some known // location and you don't want to see the first few frames anyhow; also // notice that Walk() frame itself is not included if skip >= 1) - virtual void Walk(size_t skip = 1, size_t maxDepth = 200) = 0; + virtual void Walk(size_t skip = 1, size_t maxDepth = wxSTACKWALKER_MAX_DEPTH) = 0; +#if wxUSE_ON_FATAL_EXCEPTION // enumerate stack frames from the location of uncaught exception // // this version can only be called from wxApp::OnFatalException() - virtual void WalkFromException() = 0; + virtual void WalkFromException(size_t maxDepth = wxSTACKWALKER_MAX_DEPTH) = 0; +#endif // wxUSE_ON_FATAL_EXCEPTION protected: // this function must be overrided to process the given frame virtual void OnStackFrame(const wxStackFrame& frame) = 0; }; -#ifdef __WXMSW__ +#ifdef __WINDOWS__ #include "wx/msw/stackwalk.h" #elif defined(__UNIX__) #include "wx/unix/stackwalk.h"