aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/sequence_dialog.h
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/sequence_dialog.h
parent442314e8b2bdc4ea921bd7136aadb851652f4ce7 (diff)
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/sequence_dialog.h')
-rw-r--r--ui/qt/sequence_dialog.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/ui/qt/sequence_dialog.h b/ui/qt/sequence_dialog.h
index f87bd2bd66..489ac3c026 100644
--- a/ui/qt/sequence_dialog.h
+++ b/ui/qt/sequence_dialog.h
@@ -43,12 +43,25 @@ class SequenceDialog;
class SequenceDiagram;
+class SequenceInfo
+{
+public:
+ SequenceInfo(seq_analysis_info_t *sainfo = NULL);
+ seq_analysis_info_t * sainfo() { return sainfo_;}
+ void ref() { count_++; }
+ void unref() { if (--count_ == 0) delete this; }
+private:
+ ~SequenceInfo();
+ seq_analysis_info_t *sainfo_;
+ unsigned int count_;
+};
+
class SequenceDialog : public WiresharkDialog
{
Q_OBJECT
public:
- explicit SequenceDialog(QWidget &parent, CaptureFile &cf, seq_analysis_info_t *sainfo = NULL);
+ explicit SequenceDialog(QWidget &parent, CaptureFile &cf, SequenceInfo *info = NULL);
~SequenceDialog();
signals:
@@ -89,7 +102,7 @@ private slots:
private:
Ui::SequenceDialog *ui;
SequenceDiagram *seq_diagram_;
- seq_analysis_info_t *sainfo_;
+ SequenceInfo *info_;
int num_items_;
guint32 packet_num_;
double one_em_;