aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/traffic_table_dialog.h
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2016-06-22 12:44:02 -0700
committerAnders Broman <a.broman58@gmail.com>2016-06-23 03:44:54 +0000
commit300e055ab6e3ede51de2258c83d9aeab4b7f3701 (patch)
tree0db3e2c2984b3e3a7d47207cc13c35de0ecc77e5 /ui/qt/traffic_table_dialog.h
parent933c079598079e1786b07cda5e1b48684ca0ac3c (diff)
Qt: Use queued signals+slots for filter actions
Many of our dialogs can send an "apply this display filter" signal to the main window. Applying a display filter in turn creates a nested event loop via cf_read+update_progress_dlg. If the "apply" signal+slot is directly connected (which is the default, and which means we're calling into a function table) we can close the dialog while the signal is firing, which means we return into a deleted object. Make all of the filterAction signals+slots queued instead of direct. Bug: 12523 Change-Id: Ica331054c0aa52a7f33bd8df1fa65ecd09fdc292 Reviewed-on: https://code.wireshark.org/review/16080 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'ui/qt/traffic_table_dialog.h')
-rw-r--r--ui/qt/traffic_table_dialog.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/ui/qt/traffic_table_dialog.h b/ui/qt/traffic_table_dialog.h
index 5496f5a5b8..db53c8931a 100644
--- a/ui/qt/traffic_table_dialog.h
+++ b/ui/qt/traffic_table_dialog.h
@@ -93,7 +93,7 @@ private slots:
signals:
void titleChanged(QWidget *tree, const QString &text);
- void filterAction(QString& filter, FilterAction::Action action, FilterAction::ActionType type);
+ void filterAction(QString filter, FilterAction::Action action, FilterAction::ActionType type);
};
class TrafficTableDialog : public WiresharkDialog
@@ -114,7 +114,7 @@ public:
public slots:
signals:
- void filterAction(QString& filter, FilterAction::Action action, FilterAction::ActionType type);
+ void filterAction(QString filter, FilterAction::Action action, FilterAction::ActionType type);
void openFollowStreamDialog(follow_type_t type);
void openTcpStreamGraph(int graph_type);