Hi,
On Mon, Jul 28, 2014 at 10:47:43PM +0200, Martin Kaiser wrote:
> However, I don't quite understand why for tree!=NULL but not visible,
> proto_tree_add_text() returns tree. I can see this in the code, we call
> TRY_TO_FAKE_THIS_ITEM(), which returns the tree itself when it's not
> visible. But what sense does this make for the caller?
Just to make filtering works.
We're keeping array of "interesting fields", stored in tree->tree_data->interesting_hfids.
In common case like this:
foobar_tree = proto_tree_add_subtree_format(tree, ..., "Foobar");
proto_tree_add_item(foobar_tree, hf_foobar_xyz, ...);
proto_tree_add_item(foobar_tree, hf_foobar_aaa, ...);
when foobar_tree == NULL, proto_tree_add_item() will fast return in if (!tree) check inside TRY_TO_FAKE_THIS_ITEM_OR_FREE
Cheers,
Jakub.