]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/stackwalk.h
fix wxBitmapComboBox Gtk-CRITICAL assertion `GTK_IS_ENTRY (entry)' failed
[wxWidgets.git] / include / wx / stackwalk.h
index 911d28fdf86b4e4a6604aff9e0815bee64a2ef9c..ed91376986ede4c018970f7db96b2c35b6b6345a 100644 (file)
@@ -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:
 // Purpose:     wxStackWalker and related classes, common part
 // Author:      Vadim Zeitlin
 // Modified by:
@@ -16,7 +16,9 @@
 
 #if wxUSE_STACKWALKER
 
 
 #if wxUSE_STACKWALKER
 
-class WXDLLIMPEXP_BASE wxStackFrame;
+class WXDLLIMPEXP_FWD_BASE wxStackFrame;
+
+#define wxSTACKWALKER_MAX_DEPTH       (200)
 
 // ----------------------------------------------------------------------------
 // wxStackFrame: a single stack level
 
 // ----------------------------------------------------------------------------
 // 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
 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<wxStackFrameBase *>(this); }
 
 public:
     wxStackFrameBase(size_t level, void *address = NULL)
 
 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)
     // 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()
     // 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;
 };
 
 
 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"
     #include "wx/msw/stackwalk.h"
 #elif defined(__UNIX__)
     #include "wx/unix/stackwalk.h"