diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-01-29 13:11:59 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-01-29 13:11:59 +0100 |
commit | 37f47955eae6998f61da280f3e4da601e4aea6c0 (patch) | |
tree | fb6d7bc75d71c298f7eaac0edbdff8802db3d443 /src | |
parent | 84e601a07d0c259ea141e80eed8eb40f8d465c18 (diff) | |
parent | 7b8b85d25ef4a2e0e49fc94b3bd47f8aa945091f (diff) | |
download | abrt-37f47955eae6998f61da280f3e4da601e4aea6c0.tar.gz abrt-37f47955eae6998f61da280f3e4da601e4aea6c0.tar.xz abrt-37f47955eae6998f61da280f3e4da601e4aea6c0.zip |
Merge branch 'master' into rhel6
Diffstat (limited to 'src')
-rw-r--r-- | src/Daemon/MiddleWare.cpp | 10 | ||||
-rw-r--r-- | src/Gui/CCReporterDialog.py | 8 |
2 files changed, 15 insertions, 3 deletions
diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp index ba7e0a05..f69c8a30 100644 --- a/src/Daemon/MiddleWare.cpp +++ b/src/Daemon/MiddleWare.cpp @@ -383,10 +383,13 @@ report_status_t Report(const map_crash_data_t& client_report, const std::string& pDumpDir = get_crash_data_item_content(stored_report, CD_DUMPDIR); // Save comment, "how to reproduce", backtrace +//TODO: we should iterate through stored_report and modify all +//modifiable fields which have new data in client_report const char *comment = get_crash_data_item_content_or_NULL(client_report, FILENAME_COMMENT); const char *reproduce = get_crash_data_item_content_or_NULL(client_report, FILENAME_REPRODUCE); const char *backtrace = get_crash_data_item_content_or_NULL(client_report, FILENAME_BACKTRACE); - if (comment || reproduce || backtrace) + const char *kerneloops = get_crash_data_item_content_or_NULL(client_report, FILENAME_KERNELOOPS); + if (comment || reproduce || backtrace || kerneloops) { CDebugDump dd; dd.Open(pDumpDir.c_str()); @@ -405,6 +408,11 @@ report_status_t Report(const map_crash_data_t& client_report, dd.SaveText(FILENAME_BACKTRACE, backtrace); add_to_crash_data_ext(stored_report, FILENAME_BACKTRACE, CD_TXT, CD_ISEDITABLE, backtrace); } + if (kerneloops) + { + dd.SaveText(FILENAME_KERNELOOPS, kerneloops); + add_to_crash_data_ext(stored_report, FILENAME_KERNELOOPS, CD_TXT, CD_ISEDITABLE, kerneloops); + } } const std::string& analyzer = get_crash_data_item_content(stored_report, FILENAME_ANALYZER); diff --git a/src/Gui/CCReporterDialog.py b/src/Gui/CCReporterDialog.py index a04725bd..b5f57d74 100644 --- a/src/Gui/CCReporterDialog.py +++ b/src/Gui/CCReporterDialog.py @@ -219,7 +219,8 @@ class ReporterDialog(): except: pass - if item == FILENAME_BACKTRACE: + if item == FILENAME_BACKTRACE or item == FILENAME_KERNELOOPS: + self.is_oops = item == FILENAME_KERNELOOPS buff = gtk.TextBuffer() tvBacktrace = self.builder.get_object("tvBacktrace") buff.set_text(self.report[item][CD_CONTENT]) @@ -308,7 +309,10 @@ class ReporterDialog(): tev_backtrace = self.builder.get_object("tvBacktrace") buff = tev_backtrace.get_buffer() text = buff.get_text(buff.get_start_iter(), buff.get_end_iter()) - self.report[FILENAME_BACKTRACE] = [CD_TXT, 'y', text] + if self.is_oops: + self.report[FILENAME_KERNELOOPS] = [CD_TXT, 'y', text] + else: + self.report[FILENAME_BACKTRACE] = [CD_TXT, 'y', text] def check_report(self): # FIXME: check the report for passwords and some other potentially |