#include "wx/fontmap.h"
#endif // wxUSE_FONTMAP
+#if defined(__DARWIN__) && defined(_MSL_USING_MW_C_HEADERS) && _MSL_USING_MW_C_HEADERS
+ // For MacTypes.h for Debugger function
+ #include <CoreFoundation/CFBase.h>
+#endif
+
#if defined(__WXMAC__)
// VZ: MacTypes.h is enough under Mac OS X (where I could test it) but
// I don't know which headers are needed under earlier systems so
#else
SysBreak();
#endif
+#elif defined(_MSL_USING_MW_C_HEADERS) && _MSL_USING_MW_C_HEADERS
+ Debugger();
#elif defined(__UNIX__)
raise(SIGTRAP);
#else
StackDump dump;
dump.Walk(5); // don't show OnAssert() call itself
- const wxString& stackTrace = dump.GetStackTrace();
+ wxString stackTrace = dump.GetStackTrace();
+
+ const int maxLines = 10;
+ // Don't show more than maxLines or we could get an enormous dialog
+ int count = stackTrace.Freq(wxT('\n'));
+ if (count > maxLines)
+ {
+ int i;
+ for (i = 0; i < count - maxLines; i++)
+ stackTrace = stackTrace.BeforeLast(wxT('\n'));
+ }
if ( !stackTrace.empty() )
{
msg << _T("\n\nCall stack:\n")