Community
Participate
Working Groups
20021210 1. create 1 junit project and 3 empty projects 2. open java browsing perspective 3. back to java perspective 4. select junit.framework.Assert during step 4, JavaBrowsingPart.setInput is called 26 times (more or less) that sounds strange, given that there are only 4 JavaBrowsingParts but why would they be called at all? they're not visible
aha, the stacktrace is: at org.eclipse.jdt.ui.ProblemsLabelDecorator.getErrorTicksFromMarkers (ProblemsLabelDecorator.java:203) at org.eclipse.jdt.ui.ProblemsLabelDecorator.computeAdornmentFlags (ProblemsLabelDecorator.java:176) at org.eclipse.jdt.ui.ProblemsLabelDecorator.decorateImage (ProblemsLabelDecorator.java:139) at org.eclipse.jdt.internal.ui.viewsupport.JavaUILabelProvider.getImage (JavaUILabelProvider.java:108) at org.eclipse.jface.viewers.DecoratingLabelProvider.getImage (DecoratingLabelProvider.java:67) at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:83) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem (AbstractTreeViewer.java:363) at org.eclipse.jface.viewers.StructuredViewer.updateItem (StructuredViewer.java:1132) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem (AbstractTreeViewer.java:267) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren (AbstractTreeViewer.java:252) at org.eclipse.jface.viewers.AbstractTreeViewer$2.run (AbstractTreeViewer.java:655) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection (StructuredViewer.java:684) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged (AbstractTreeViewer.java:647) at org.eclipse.jface.viewers.ContentViewer.setInput (ContentViewer.java:232) at org.eclipse.jface.viewers.StructuredViewer.setInput (StructuredViewer.java:871) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setViewerInput (JavaBrowsingPart.java:675) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.setInput (JavaBrowsingPart.java:669) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.adjustInputAndSetSelection (JavaBrowsingPart.java:878) at org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPart.selectionChanged (JavaBrowsingPart.java:650) at org.eclipse.ui.internal.AbstractSelectionService$4.run (AbstractSelectionService.java:162) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:843) at org.eclipse.core.runtime.Platform.run(Platform.java:413) at org.eclipse.ui.internal.AbstractSelectionService.firePostSelection (AbstractSelectionService.java:160)
it's 33 times
*** Bug 28085 has been marked as a duplicate of this bug. ***
this sounds like a few too many maybe Dani, can you have a look?
>but why would they be called at all? they're not visible If a the views are part of a inactive perspective (left side) in your window then they get all the events. This is the general approach. The isVisible API did not work but has been changed recently (new API was added AFAIK).
bogus me it's 1 setInput but 33 calls to ProblemsLabelDecorator.getErrorTicksFromMarkers
Needs to be investigated.
Setting input once is OK and then it neeeds at least 1 call per visible element to get the icon.
sorry - it IS bogus to refresh while hidden
Fixed! Available in builds > N20030131