Wireshark mailing list archives

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


From: Gerald Combs <gerald () wireshark org>
Date: Mon, 09 Mar 2015 14:19:20 -0700

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.

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. :)

___________________________________________________________________________
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: