]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/stackwalk.h
document column reordering in wxListCtrl; fix confusion between GetColumnOrder()...
[wxWidgets.git] / include / wx / msw / stackwalk.h
index b003181bc880aefb5f430da3824bd0d6e3c67a2a..a867d8f5f7ec808dd6d5e1ad0e0547e143651cae 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef _WX_MSW_STACKWALK_H_
 #define _WX_MSW_STACKWALK_H_
 
+#include "wx/arrstr.h"
+
 // these structs are declared in windows headers
 struct _CONTEXT;
 struct _EXCEPTION_POINTERS;
@@ -27,7 +29,7 @@ class WXDLLIMPEXP_BASE wxStackFrame : public wxStackFrameBase
 {
 private:
     wxStackFrame *ConstCast() const
-        { return wx_const_cast(wxStackFrame *, this); }
+        { return const_cast<wxStackFrame *>(this); }
 
     size_t DoGetParamCount() const { return m_paramTypes.GetCount(); }
 
@@ -63,7 +65,7 @@ protected:
     // helper for debug API: it wants to have addresses as DWORDs
     size_t GetSymAddr() const
     {
-        return wx_reinterpret_cast(size_t, m_address);
+        return reinterpret_cast<size_t>(m_address);
     }
 
 private:
@@ -84,15 +86,19 @@ private:
 class WXDLLIMPEXP_BASE wxStackWalker : public wxStackWalkerBase
 {
 public:
-    wxStackWalker() { }
+    // we don't use ctor argument, it is for compatibility with Unix version
+    // only
+    wxStackWalker(const char * WXUNUSED(argv0) = NULL) { }
 
-    virtual void Walk(size_t skip = 1);
-    virtual void WalkFromException();
+    virtual void Walk(size_t skip = 1, size_t maxDepth = 200);
+#if wxUSE_ON_FATAL_EXCEPTION
+    virtual void WalkFromException(size_t maxDepth = 200);
+#endif // wxUSE_ON_FATAL_EXCEPTION
 
 
     // enumerate stack frames from the given context
-    void WalkFrom(const _CONTEXT *ctx, size_t skip = 1);
-    void WalkFrom(const _EXCEPTION_POINTERS *ep, size_t skip = 1);
+    void WalkFrom(const _CONTEXT *ctx, size_t skip = 1, size_t maxDepth = 200);
+    void WalkFrom(const _EXCEPTION_POINTERS *ep, size_t skip = 1, size_t maxDepth = 200);
 };
 
 #endif // _WX_MSW_STACKWALK_H_