Karel Klíč 5af2885
commit f05c9b25335c84c7b5861fce80fd941ec81212f3
Karel Klíč 5af2885
Author: Karel Klic <kklic@redhat.com>
Karel Klíč 5af2885
Date:   Thu Apr 15 12:12:59 2010 +0200
Karel Klíč 5af2885
Karel Klíč 5af2885
    Crash function is now detected even for threads without an abort frame.
Karel Klíč 5af2885
Karel Klíč 5af2885
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
Karel Klíč 5af2885
index 9bdcda9..cf25c73 100644
Karel Klíč 5af2885
--- a/lib/Plugins/CCpp.cpp
Karel Klíč 5af2885
+++ b/lib/Plugins/CCpp.cpp
Karel Klíč 5af2885
@@ -761,13 +761,12 @@ void CAnalyzerCCpp::CreateReport(const char *pDebugDumpDir, int force)
Karel Klíč 5af2885
         /* Get the function name from the crash frame. */
Karel Klíč 5af2885
         if (crash_thread)
Karel Klíč 5af2885
         {
Karel Klíč 5af2885
+            struct frame *crash_frame = crash_thread->frames;
Karel Klíč 5af2885
             struct frame *abort_frame = thread_find_abort_frame(crash_thread);
Karel Klíč 5af2885
             if (abort_frame)
Karel Klíč 5af2885
-            {
Karel Klíč 5af2885
-                struct frame *crash_frame = abort_frame->next;
Karel Klíč 5af2885
-                if (crash_frame && crash_frame->function && 0 != strcmp(crash_frame->function, "??"))
Karel Klíč 5af2885
-                    dd.SaveText(FILENAME_CRASH_FUNCTION, crash_frame->function);
Karel Klíč 5af2885
-            }
Karel Klíč 5af2885
+                crash_frame = abort_frame->next;
Karel Klíč 5af2885
+            if (crash_frame && crash_frame->function && 0 != strcmp(crash_frame->function, "??"))
Karel Klíč 5af2885
+                dd.SaveText(FILENAME_CRASH_FUNCTION, crash_frame->function);
Karel Klíč 5af2885
         }
Karel Klíč 5af2885
 
Karel Klíč 5af2885
         backtrace_free(backtrace);