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