diff options
author | Gerald Combs <gerald@wireshark.org> | 2015-08-26 11:24:29 -0700 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2015-08-26 22:02:19 +0000 |
commit | 374439daa17fe2692746857b920616354ce658e7 (patch) | |
tree | e9857e674c25918585b918ca8521354a957a15a2 /ui/qt/wireshark_application.h | |
parent | 8ad56117502207d95d54bd2c8dff24d001530d24 (diff) | |
download | wireshark-374439daa17fe2692746857b920616354ce658e7.tar.gz |
Don't emit app signals from dialogs.
Emitting PacketDissectionChanged from a dialog on can render the main
window unusable on OS X. A workaround for this was added to the
preferences dialog in g8fc2327. Generalize the workaround and use it
elsewhere.
Fix the "Enabled Protocols" action name while we're here.
Bug: 11361
Bug: 11448
Change-Id: I89e98daaaedc877d3b13b0d33b6f3be033e323d7
Reviewed-on: https://code.wireshark.org/review/10271
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui/qt/wireshark_application.h')
-rw-r--r-- | ui/qt/wireshark_application.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ui/qt/wireshark_application.h b/ui/qt/wireshark_application.h index 1173d84bc2..8340581e77 100644 --- a/ui/qt/wireshark_application.h +++ b/ui/qt/wireshark_application.h @@ -72,6 +72,13 @@ public: void registerUpdate(register_action_e action, const char *message); void emitAppSignal(AppSignal signal); + // Emitting app signals (PacketDissectionChanged in particular) from + // dialogs on OS X can be problematic. Dialogs should call queueAppSignal + // instead. + void queueAppSignal(AppSignal signal) { app_signals_ << signal; } + // Flush queued app signals. Should be called from the main window after + // each dialog that calls queueAppSignal closes. + void flushAppSignals(); void emitStatCommandSignal(const QString &menu_path, const char *arg, void *userdata); void emitTapParameterSignal(const QString cfg_abbr, const QString arg, void *userdata); void addDynamicMenuGroupItem(int group, QAction *sg_action); @@ -121,6 +128,7 @@ private: QIcon normal_icon_; QIcon capture_icon_; static QString window_title_separator_; + QList<AppSignal> app_signals_; protected: bool event(QEvent *event); |