diff options
Diffstat (limited to 'ui/qt/main_window.cpp')
-rw-r--r-- | ui/qt/main_window.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/ui/qt/main_window.cpp b/ui/qt/main_window.cpp index 620f75d4c8..a1b25ee61a 100644 --- a/ui/qt/main_window.cpp +++ b/ui/qt/main_window.cpp @@ -911,21 +911,24 @@ void MainWindow::mergeCaptureFile() tmpname = NULL; if (merge_dlg.mergeType() == 0) { /* chronological order */ - in_filenames[0] = capture_file_.capFile()->filename; - in_filenames[1] = file_name.toUtf8().data(); + in_filenames[0] = g_strdup(capture_file_.capFile()->filename); + in_filenames[1] = qstring_strdup(file_name); merge_status = cf_merge_files(&tmpname, 2, in_filenames, file_type, FALSE); } else if (merge_dlg.mergeType() <= 0) { /* prepend file */ - in_filenames[0] = file_name.toUtf8().data(); - in_filenames[1] = capture_file_.capFile()->filename; + in_filenames[0] = qstring_strdup(file_name); + in_filenames[1] = g_strdup(capture_file_.capFile()->filename); merge_status = cf_merge_files(&tmpname, 2, in_filenames, file_type, TRUE); } else { /* append file */ - in_filenames[0] = capture_file_.capFile()->filename; - in_filenames[1] = file_name.toUtf8().data(); + in_filenames[0] = g_strdup(capture_file_.capFile()->filename); + in_filenames[1] = qstring_strdup(file_name); merge_status = cf_merge_files(&tmpname, 2, in_filenames, file_type, TRUE); } + g_free(in_filenames[0]); + g_free(in_filenames[1]); + if (merge_status != CF_OK) { if (rfcode != NULL) dfilter_free(rfcode); |