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