summaryrefslogtreecommitdiff
path: root/ui/qt/voip_calls_dialog.cpp
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2015-11-15 22:57:43 +0100
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2015-11-16 09:56:46 +0000
commit2773596970c362a6d81c7e44311781590074c43f (patch)
tree56bc2bad99653c9967b9589ef8610b1f82f153ee /ui/qt/voip_calls_dialog.cpp
parent442314e8b2bdc4ea921bd7136aadb851652f4ce7 (diff)
downloadwireshark-2773596970c362a6d81c7e44311781590074c43f.tar.gz
Qt: add a reference counter to sequence analysis info
Increment the reference counter each time a flow sequence window is opened. Free seq_analysis_info_t structure once the last flow sequence / VoIP calls / SIP flow window is closed. Bug: 11712 Change-Id: I20fcb922b0516417d4bd74cdf75475dcb31f8b90 Reviewed-on: https://code.wireshark.org/review/11851 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'ui/qt/voip_calls_dialog.cpp')
-rw-r--r--ui/qt/voip_calls_dialog.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/ui/qt/voip_calls_dialog.cpp b/ui/qt/voip_calls_dialog.cpp
index 6897580bd9..4f29cfd399 100644
--- a/ui/qt/voip_calls_dialog.cpp
+++ b/ui/qt/voip_calls_dialog.cpp
@@ -199,6 +199,7 @@ VoipCallsDialog::VoipCallsDialog(QWidget &parent, CaptureFile &cf, bool all_flow
tapinfo_.fs_option = all_flows ? FLOW_ALL : FLOW_ONLY_INVITES; /* flow show option */
tapinfo_.graph_analysis = sequence_analysis_info_new();
tapinfo_.graph_analysis->type = SEQ_ANALYSIS_VOIP;
+ sequence_info_ = new SequenceInfo(tapinfo_.graph_analysis);
voip_calls_init_all_taps(&tapinfo_);
@@ -216,7 +217,7 @@ VoipCallsDialog::~VoipCallsDialog()
voip_calls_reset_all_taps(&tapinfo_);
voip_calls_remove_all_tap_listeners(&tapinfo_);
- sequence_analysis_info_free(tapinfo_.graph_analysis);
+ sequence_info_->unref();
g_queue_free(tapinfo_.callsinfos);
}
@@ -485,7 +486,7 @@ void VoipCallsDialog::showSequence()
cur_ga_item = g_list_next(cur_ga_item);
}
- SequenceDialog *sequence_dialog = new SequenceDialog(parent_, cap_file_, tapinfo_.graph_analysis);
+ SequenceDialog *sequence_dialog = new SequenceDialog(parent_, cap_file_, sequence_info_);
// XXX This goes away when we close the VoIP Calls dialog.
connect(sequence_dialog, SIGNAL(goToPacket(int)),
this, SIGNAL(goToPacket(int)));