diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2015-11-15 22:57:43 +0100 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2015-11-16 09:56:46 +0000 |
commit | 2773596970c362a6d81c7e44311781590074c43f (patch) | |
tree | 56bc2bad99653c9967b9589ef8610b1f82f153ee /ui/qt/voip_calls_dialog.cpp | |
parent | 442314e8b2bdc4ea921bd7136aadb851652f4ce7 (diff) | |
download | wireshark-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.cpp | 5 |
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))); |