Wireshark-dev: Re: [Wireshark-dev] Source, Destination, Protocol, Info columns values missing.
On Jun 9, 2006, at 3:29 PM, Ravi Kondamuru wrote:
I applied the patch of the changes I have been working on ethereal
on to wireshark. I am seeing some wierd behavior. On the packet-
list pane, I can only see the values of No. and Time. The remainder
of the columns are empty. However the remainder of the 2 panes:
detailed protocol info and hex dump of packet panes have the
correct info.
If I apply a filter and select a subset or all of the packets in
the packet-list, it then starts to show all the columns. When I
clear the filter, its back to showing only the No and Time columns.
What are the functions called for displaying the full packet-list
and a filtered packet-list.
Any other ideas why this could be happening?
For a filtered packet list, the dissectors are called with a non-null
"tree" argument.
For a full packet list, the dissectors might be called with a null
"tree" argument, because it might not be necessary to do a full
dissection of the packet.
This means that if a dissector calls a subdissector, it must
*A*L*W*A*Y*S*
call that subdissector, *regardless* of whether the "tree" argument
is null or not. Code that does
dissect_myprotocol(...)
{
set the columns;
...
if (!tree)
return;
...
call a subdissector;
}
or
dissect_myprotocol(...)
{
set the columns;
...
if (tree) {
...
call a subdissector;
}
}
is not valid code.