wireshark/ui
Peter Wu 2d12ec67a3 Qt: fix erratic expansion of tree item when switching packets
ProtoTree::setRootNode() is designed to update the model with the new
packet tree, and additionally expand tree items in its view. When the
current selected packet is changed, it must use this method to ensure
that collapsed trees are properly expanded. Fix this regression.

It was not entirely clear that framesSelected can no longer use previous
state, so document it explicitly. Remove the call to QTreeView::reset(),
it ends up calling QAbstractItemView::reset() which touches the
selection model that refers invalidated proto_node memory. The reset
function of the view is automatically called the model is reset, so the
call was not needed anyway.

Test: open test/captures/tls13-rfc8446.pcap, expand TLS, TLS Record, and
select "Content Type". Change from frame 1 to 2, and then 3. Observe
that the expanded state remains constant with no flickering. In frame 3,
observe that the tree remains expanded even if no item is selected.

Change-Id: I0c820711f1a62aa51ac100f8ac5c89265c51eb18
Fixes: v3.3.0rc0-6-gcfee0f8082 ("Qt: Remove frameSelect signal")
Reviewed-on: https://code.wireshark.org/review/35230
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Roland Knall <rknall@gmail.com>
2019-11-28 14:13:57 +00:00
..
cli QT/CLI: Remove limit for object export files 2019-11-05 22:40:27 +00:00
macosx macOS: Add support for automatic updates using Sparkle. 2019-11-15 18:39:04 +00:00
qt Qt: fix erratic expansion of tree item when switching packets 2019-11-28 14:13:57 +00:00
win32 Qt: Multiselection in PacketList 2019-11-17 12:20:29 +00:00
CMakeLists.txt HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
alert_box.c ui: add missing break. 2018-11-14 09:30:55 +00:00
alert_box.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
all_files_wildcard.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
capture.c Qt: Keep extcap control channels when capturing to multiple files 2019-11-07 12:53:47 +00:00
capture.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
capture_globals.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
capture_info.h Move the last of the routines from capture_info.c into ui/capture.c. 2019-09-15 14:09:41 +00:00
capture_ui_utils.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
capture_ui_utils.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
clopts_common.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
clopts_common.h Move some command-line-oriented routines from wsutil to ui. 2019-01-01 02:07:06 +00:00
cmdarg_err.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
cmdarg_err.h Move some command-line-oriented routines from wsutil to ui. 2019-01-01 02:07:06 +00:00
commandline.c Documentation: update (long) cmd line options. 2019-11-11 06:16:07 +00:00
commandline.h Move more version-info-related stuff to version_info.c. 2018-12-13 03:16:13 +00:00
console.c Windows: Console log handler fixups. 2019-03-14 21:15:08 +00:00
console.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
decode_as_utils.c Accept protocol aliases in Decode As (-d tcp.port==4433,ssl) 2019-02-05 22:40:01 +00:00
decode_as_utils.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
dissect_opts.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
dissect_opts.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
export_object_ui.c Don't fall out of the loop on a write error. 2019-01-02 23:56:33 +00:00
export_object_ui.h No need to report "some files could not be saved". 2019-01-01 23:12:17 +00:00
export_pdu_ui_utils.c Clean up exp_pdu_open() API. 2018-12-19 06:59:09 +00:00
export_pdu_ui_utils.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
failure_message.c Move some command-line-oriented routines from wsutil to ui. 2019-01-01 02:07:06 +00:00
failure_message.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
file_dialog.c 1514 is a better initial Buffer size than 1500. 2019-04-06 21:04:02 +00:00
file_dialog.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
filter_files.c FilterFiles: Remove GTK+-only filter lists 2019-10-25 13:46:44 +00:00
filter_files.h FilterFiles: Remove GTK+-only filter lists 2019-10-25 13:46:44 +00:00
firewall_rules.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
firewall_rules.h Fix some source headers, reformat SPDX license lines in comment block. 2018-02-18 22:50:37 +00:00
help_url.c Revert "CMake: Don't install HTML manuals twice" 2019-10-10 15:58:41 +00:00
help_url.h UI: Remove Win32 file dialog stuff specific to GTK 2018-11-10 07:42:44 +00:00
iface_lists.c capchild,ifaces: use g_get_monotonic_time 2019-07-17 06:26:09 +00:00
iface_lists.h Get rid of unused routine. 2018-08-11 07:52:06 +00:00
iface_toolbar.c Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
iface_toolbar.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
io_graph_item.c Use I/O Graphs instead of IO graphs everywhere. 2019-06-20 20:01:00 +00:00
io_graph_item.h Use I/O Graphs instead of IO graphs everywhere. 2019-06-20 20:01:00 +00:00
language.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
language.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
last_open_dir.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
main_statusbar.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
mcast_stream.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
mcast_stream.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
packet_list_utils.c Qt: Enable "Resolve Names" for boolean without TFS 2018-08-22 03:58:16 +00:00
packet_list_utils.h Fix some source headers, reformat SPDX license lines in comment block. 2018-02-18 22:50:37 +00:00
packet_range.c Qt: Multiselection in PacketList 2019-11-17 12:20:29 +00:00
packet_range.h Qt: Multiselection in PacketList 2019-11-17 12:20:29 +00:00
persfilepath_opt.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
persfilepath_opt.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
preference_utils.c ui: Refactoring column_prefs_add_custom 2019-06-30 13:08:40 +00:00
preference_utils.h ui: Refactoring column_prefs_add_custom 2019-06-30 13:08:40 +00:00
profile.c Qt: Prevent loop in renames of profiles 2019-08-13 08:16:12 +00:00
profile.h Qt: Prevent loop in renames of profiles 2019-08-13 08:16:12 +00:00
progress_dlg.h file: remove use of g_get_current_time 2019-07-17 06:25:28 +00:00
proto_hier_stats.c file: remove use of g_get_current_time 2019-07-17 06:25:28 +00:00
proto_hier_stats.h replace SPDX identifier GPL-2.0+ with GPL-2.0-or-later. 2018-02-08 14:57:36 +00:00
recent.c Qt: Allow action buttons to be left-aligned 2019-11-05 16:56:33 +00:00
recent.h Qt: Allow action buttons to be left-aligned 2019-11-05 16:56:33 +00:00
recent_utils.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
rtp_media.c rtp_analysis_dialog.cpp: save any supported codec as .au 2019-11-21 16:06:49 +00:00
rtp_media.h rtp_analysis_dialog.cpp: save any supported codec as .au 2019-11-21 16:06:49 +00:00
rtp_stream.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
rtp_stream.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
rtp_stream_id.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
rtp_stream_id.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
service_response_time.c Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
service_response_time.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
simple_dialog.h Qt: Add asynchronous simple dialog 2019-05-20 12:53:38 +00:00
software_update.c Software update: Make our architecture detection more strict. 2019-11-15 22:46:22 +00:00
software_update.h macOS: Add support for automatic updates using Sparkle. 2019-11-15 18:39:04 +00:00
ssl_key_export.c Rename packet-ssl* to packet-tls* 2018-09-25 13:24:17 +00:00
ssl_key_export.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
summary.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
summary.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tap-credentials.h credentials: don't use wmem file scope but a local copy. 2019-07-05 12:26:44 +00:00
tap-iax2-analysis.c HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tap-iax2-analysis.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tap-rlc-graph.c Hava a routine to read the currently-selected frome. 2019-04-15 05:54:41 +00:00
tap-rlc-graph.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
tap-rtp-analysis.c HTTPS In More Places, update some URLs. 2019-07-27 07:55:36 +00:00
tap-rtp-analysis.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
tap-rtp-common.c rtp_analysis_dialog: save as au: fix for streams with multiple codecs 2019-11-03 11:12:30 +00:00
tap-rtp-common.h rtp_analysis_dialog: save as au: fix for streams with multiple codecs 2019-11-03 11:12:30 +00:00
tap-sctp-analysis.c [SCTP] ui: fix Analyse Association with correct number of endpoint streams 2019-06-13 18:01:43 +00:00
tap-sctp-analysis.h Qt: fix several crashes in the SCTP Dialogs 2018-08-20 05:01:11 +00:00
tap-tcp-stream.c Hava a routine to read the currently-selected frome. 2019-04-15 05:54:41 +00:00
tap-tcp-stream.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
tap_export_pdu.c wiretap: fix memleaks with wtap_rec::opt_comment 2019-01-25 04:53:10 +00:00
tap_export_pdu.h Clean up exp_pdu_open() API. 2018-12-19 06:59:09 +00:00
taps.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
text_import.c text import: make TCP dest port truly direction dependant 2019-04-20 06:59:27 +00:00
text_import.h Text Import: update code comments and help texts 2019-01-21 21:03:49 +00:00
text_import_scanner.h Put back EOF rule, but without exporting write_current_packet(). 2019-03-20 16:06:57 +00:00
text_import_scanner.l Put back EOF rule, but without exporting write_current_packet(). 2019-03-20 16:06:57 +00:00
time_shift.c TimeShiftDialog should be considered an "edit" operation 2018-12-21 13:59:32 +00:00
time_shift.h HTTPS (almost) everywhere. 2019-07-26 18:44:40 +00:00
traffic_table_ui.c Don't cast away constness if you don't have to. 2019-03-17 22:10:10 +00:00
traffic_table_ui.h Re-implement "Map" feature for Endpoints 2019-02-16 21:11:12 +00:00
util.c HTTPS In More Places, update some URLs. 2019-07-27 07:55:36 +00:00
util.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00
voip_calls.c Don't cast away constness if you don't have to. 2019-03-17 22:12:29 +00:00
voip_calls.h RTP: code cleanup 3 2018-06-23 10:03:54 +00:00
ws_ui_util.h Fix comment end after SPDX identifier 2018-05-01 06:56:37 +00:00