Wireshark mailing list archives

Re: Qt: Convert ProtoTree from QTreeWidget to Model/View


From: Gerald Combs <gerald () wireshark org>
Date: Mon, 09 Mar 2015 17:25:10 -0700

On 3/9/15 4:14 PM, Peter Wu wrote:
On Mon, Mar 09, 2015 at 02:19:20PM -0700, Gerald Combs wrote:
On 3/9/15 1:32 PM, Peter Wu wrote:
On Mon, Mar 09, 2015 at 11:44:21AM -0700, Gerald Combs wrote:
On 3/9/15 7:56 AM, Peter Wu wrote:
Hi,

I have recently discovered that the Qt UI gets in an inconsistent state
(leading to crashes) whenever a packet dialog is open and packets are
re-dissected. This is reported at
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=11044

Before proceeding to a reimplementation attempt using Model/View, I
would like to solicit for some feedback. Was the QTreeWidget choice done
consciously? Do you foresee issues with sharing field items via the same
model? Is someone already working on this?

A QTreeWidget was chosen lazily, i.e. it did the job at the time. A custom
model might make more sense given that we have a large limit on the number
of tree items (MAX_TREE_ITEMS = 1e6).

Having independent models lets each packet dialog persist across files.
Would a shared model still allow that?

As far as I know, you can only have one open capture file. Correct me if
I am wrong.

That's correct. That's also *exactly* why many of the Qt dialogs catch
captureFileClosing and disconnect themselves from the current capture file.
If a user wants packet dialogs from multiple capture files spread across
multiple monitors I'm not going to question her motives.

So was your comment more like a wishlist feature or did you mean
persistence across packet selections?

I mean persistence across files. In the Qt UI I can do the following today:

- Open a.pcap.
- Double-click packet 12, which opens packet 12 in a separate window.
- Close a.pcap.
- Open b.pcap
- Select packet 15.
- Compare packet 12 from a.pcap with packet 15 from b.pcap.

The I/O graph, capture file properties, conversations, endpoints, and other
dialogs behave in a similar fashion, e.g. I can compare the TCP
conversations across files from the same application instance.


Both File sets and opening files manually result in all packet dialogs
getting closed after opening a new capture (v1.99.4rc0-34-g6bc138c).
This is the current GTK+ implementation,

This is annoying behavior, IMHO.

Qt crashes for the reasons mentioned in bug 11044.

...as is this. :)

Well, "closing" a capture file should also close other dialogs right? Or
are you pointing at the File sets feature?

Why should it? Why yank away useful information just because the user
closes the capture file?
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: