https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4037
Josef Fruehwirth <fruehwirth@xxxxxxxxx> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fruehwirth@xxxxxxxxx
--- Comment #4 from Josef Fruehwirth <fruehwirth@xxxxxxxxx> 2010-01-22 04:26:35 PST ---
SVN Revision 31615 still shows this bug (at least on my machine).
System: WinXP 32 bit.
Compiler: MSVC2008EE
I tried to debug with VSEE debugger and found this:
Scroll action (to top of tree-view) takes places when gtk-signals are processed
(during call of "main_window_update()") for the first time after
freezing/thawing the tree-view during package receive.
On 2009-12-08 (SVN Revision 31490) etxrab added some code to
"new_packet_list_thaw(void)"
to recover row selection.
This seems to work fine. But even though the correct line stays selected scroll
position gets lost! Packet list still scrolls to top when packets are received.
I tried to implement a workaround:
1. store scroll position within new_packet_list_freeze
2. call main_window_update() within new_packet_list_thaw
(-> tree-view scrolls to top)
3. restore scroll position.
This somehow works, but smashes navigation through package list during capture
:-(
and makes the package list flicker between the two scroll positions.
Furter debuggung showed that gtk "size-request" and especially "size-allocate"
signals may be related to this.
A breakpoint at "gtk_main_iteration()" showed that during last call of
gtk_main_iteration() before scroll action takes place tree-view receives a
"size-request" followed by a "size-allocate" event.
I don't know if these events are the reason of the "scroll to top".
Emission of these signals could also be a side effect of the action causing the
"scroll to top".
Nor do I know who is emitting these signals.
Thats what I found out so far.
Is this information helpful for further investigation of this bug?
Could somebody familiar with gtk GUI signaling give a hint?
--
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.