Community
Participate
Working Groups
The situation: you have a virtual TreeViewer: viewer = new TreeViewer(parent, SWT.VIRTUAL | SWT.H_SCROLL | SWT.V_SCROLL) and you don't(!) call viewer.setUseHashlookup(true) Then updateElement(parent, index) in your ILazyTreeContentProvider is called for all children of the first root-node in the tree immediately at application-startup, without the user expanding this root-node. If you set viewer.setUseHashlookup(true) then it works like expected: updateElement(parent, index) is only called for nodes that become visible.
A bug matching this description and the fix surfaced in Eclipse 3.3 M7 on Linux with the Gtk window toolkit. M3-M6 and 3.2.1 and 3.2.2 worked fine. The call to updateElement was also recursive, leading to a stack overflow when the number of items were large.
Found a difference against the original problem. The problem occurs when an item is selected, not on startup.
Does the problem go away when you configure the viewer with setUseHashlookup(true)?
(In reply to comment #3) > Does the problem go away when you configure the viewer with > setUseHashlookup(true)? Yes that solves the problem.
(In reply to comment #1) > A bug matching this description and the fix surfaced in Eclipse 3.3 M7 on Linux > with the Gtk window toolkit. M3-M6 and 3.2.1 and 3.2.2 worked fine. > > The call to updateElement was also recursive, leading to a stack overflow when > the number of items were large. > Can you still find this others bug id? I'm having the same problem as you decribe with 3.4, but can't find the bug.
Hitesh is now responsible for watching bugs in the [Viewers] component area.
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.