diff options
-rw-r--r-- | ui/qt/packet_list.cpp | 12 | ||||
-rw-r--r-- | ui/qt/packet_list.h | 1 |
2 files changed, 11 insertions, 2 deletions
diff --git a/ui/qt/packet_list.cpp b/ui/qt/packet_list.cpp index c027581c7d..f10390ea94 100644 --- a/ui/qt/packet_list.cpp +++ b/ui/qt/packet_list.cpp @@ -249,7 +249,8 @@ PacketList::PacketList(QWidget *parent) : create_far_overlay_(true), capture_in_progress_(false), tail_timer_id_(0), - rows_inserted_(false) + rows_inserted_(false), + columns_changed_(false) { QMenu *main_menu_item, *submenu; QAction *action; @@ -635,7 +636,10 @@ void PacketList::redrawVisiblePackets() { // prefs.col_list has changed. void PacketList::columnsChanged() { - if (!cap_file_) return; + if (!cap_file_) { + columns_changed_ = true; + return; + } prefs.num_cols = g_list_length(prefs.col_list); col_cleanup(&cap_file_->cinfo); @@ -643,6 +647,7 @@ void PacketList::columnsChanged() setColumnVisibility(); create_far_overlay_ = true; packet_list_model_->resetColumns(); + columns_changed_ = false; } // Fields have changed, update custom columns @@ -977,6 +982,9 @@ void PacketList::setCaptureFile(capture_file *cf) header()->restoreState(column_state_); } cap_file_ = cf; + if (cap_file_ && columns_changed_) { + columnsChanged(); + } packet_list_model_->setCaptureFile(cf); create_near_overlay_ = true; } diff --git a/ui/qt/packet_list.h b/ui/qt/packet_list.h index 61757866b4..eaa1a3bda9 100644 --- a/ui/qt/packet_list.h +++ b/ui/qt/packet_list.h @@ -116,6 +116,7 @@ private: int tail_timer_id_; bool tail_at_end_; bool rows_inserted_; + bool columns_changed_; void setFrameReftime(gboolean set, frame_data *fdata); void setColumnVisibility(); |