Wireshark-dev: Re: [Wireshark-dev] Qt: Convert ProtoTree from QTreeWidget to Model/View

From: Peter Wu <peter@xxxxxxxxxxxxx>
Date: Mon, 9 Mar 2015 21:32:44 +0100
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.

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, Qt crashes for the reasons
mentioned in bug 11044.

A split model/view can in theory allow for opening multiple capture
files in separate views, this would need some additional refactoring
though.
-- 
Kind regards,
Peter Wu
https://lekensteyn.nl