diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2015-08-14 07:54:51 +0200 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2015-08-14 06:08:40 +0000 |
commit | 842622594a1ac05adb2b5e6fbca69ec8b327b1dc (patch) | |
tree | 7b16215d2b3794dcb3f8309559e1a23b09fc5336 /ui | |
parent | 6cc1c8d98b518b0b4fa86ca4287bacf46a998f61 (diff) |
Qt: Avoid redissect twice when changing fields
Changing fields in http, imf or ldap used to trigger redissect twice
because of UAT_AFFECTS_FIELDS and UAT_AFFECTS_DISSECTION.
Also changed from redrawVisiblePackets() to columnsChanged() because
fields in a custom column may have changed.
This also fixes reloading Lua plugins with Lua fields in custom columns.
Change-Id: I805a765690decbe7434dbf1c33ebd1113e23d16d
Reviewed-on: https://code.wireshark.org/review/10025
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Diffstat (limited to 'ui')
-rw-r--r-- | ui/qt/main_window_slots.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp index 25316dfdcb..da38dc21f9 100644 --- a/ui/qt/main_window_slots.cpp +++ b/ui/qt/main_window_slots.cpp @@ -1300,6 +1300,8 @@ void MainWindow::redissectPackets() if (capture_file_.capFile()) cf_redissect_packets(capture_file_.capFile()); main_ui_->statusBar->expertUpdate(); + + proto_free_deregistered_fields(); } void MainWindow::fieldsChanged() @@ -1322,14 +1324,9 @@ void MainWindow::fieldsChanged() dfilter_free(dfp); } - proto_free_deregistered_fields(); - if (have_custom_cols(&CaptureFile::globalCapFile()->cinfo)) { - /* Recreate packet list according to new/changed/deleted fields */ - packet_list_->redrawVisiblePackets(); - } else if (CaptureFile::globalCapFile()->state != FILE_CLOSED) { - /* Redissect packets if we have any */ - redissectPackets(); + // Recreate packet list according to new/changed/deleted fields + packet_list_->columnsChanged(); } } @@ -2491,6 +2488,11 @@ void MainWindow::on_actionAnalyzeReloadLuaPlugins_triggered() fieldsChanged(); + if (CaptureFile::globalCapFile()->state != FILE_CLOSED) { + // Redissect packets if we have any + redissectPackets(); + } + wsApp->setReloadingLua(false); SimpleDialog::displayQueuedMessages(); } |