Wireshark-bugs: [Wireshark-bugs] [Bug 4037] Automatically scrolling up

Date: Fri, 22 Jan 2010 04:26:39 -0800 (PST)
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.