]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/appbase.cpp
silently ignore NULL pointers in MSWOnMeasureItem(): apparently this can happen with...
[wxWidgets.git] / src / common / appbase.cpp
index ef32e59f1d8000dc3d1351a7b021412280a12de3..ee78eb257c32e94ca252aff8bdde098feb24df2d 100644 (file)
@@ -772,7 +772,19 @@ void ShowAssertDialog(const wxChar *szFile,
 
     StackDump dump;
     dump.Walk(5); // don't show OnAssert() call itself
-    const wxString& stackTrace = dump.GetStackTrace();
+    wxString stackTrace = dump.GetStackTrace();
+
+    // don't show more than maxLines or we could get a dialog too tall to be
+    // shown on screen: 20 should be ok everywhere as even with 15 pixel high
+    // characters it is still only 300 pixels...
+    const int maxLines = 20;
+    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")