diff options
| -rw-r--r-- | lib/Plugins/TicketUploader.cpp | 2 | ||||
| -rw-r--r-- | src/Daemon/MiddleWare.cpp | 10 | ||||
| -rw-r--r-- | src/Gui/CCReporterDialog.py | 8 |
3 files changed, 16 insertions, 4 deletions
diff --git a/lib/Plugins/TicketUploader.cpp b/lib/Plugins/TicketUploader.cpp index 4c7bbdf..8ac6a87 100644 --- a/lib/Plugins/TicketUploader.cpp +++ b/lib/Plugins/TicketUploader.cpp @@ -190,7 +190,7 @@ string CTicketUploader::Report(const map_crash_data_t& pCrashData, retry_count = m_nRetryCount; retry_delay = m_nRetryDelay; } - update_client(_("Creating an TicketUploader report...")); + update_client(_("Creating a TicketUploader report...")); bool have_ticket_name = (ticket_name != ""); if (!have_ticket_name) diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp index ba7e0a0..f69c8a3 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 a04725b..b5f57d7 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 |
