[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.platform.swt] Re: TreeItem index out of bounds exception

Could you modify one of our snippets [1] and file a bug against Platform/UI?

[1]http://wiki.eclipse.org/JFaceSnippets

Chris Audley schrieb:
With Eclipse 3.3.1.1 on win32:

I'm running into an exception adding a large number of items (>220) to an SWT Tree. I'm using a TreeViewer that already has four items displayed under the tree root. I call TreeViewer.add(TreeViewer.getRoot(), Object[]) to add an array of over 400 items to the tree viewer in addition to the 4 already displayed. Several of the items are filtered out before being passed to the SWT Tree, so the ultimate number of items added is less.

During the add, I get the following exception:

Caused by: java.lang.IllegalArgumentException: Index out of bounds
at org.eclipse.swt.SWT.error(SWT.java:3547)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.SWT.error(SWT.java:3452)
at org.eclipse.swt.widgets.TreeItem.findPrevious(TreeItem.java:210)
at org.eclipse.swt.widgets.TreeItem.<init>(TreeItem.java:119)
at org.eclipse.jface.viewers.TreeViewer.createNewRowPart(TreeViewer.java:790)
at org.eclipse.jface.viewers.TreeViewer.newItem(TreeViewer.java:302)
at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:805)


at org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElements(AbstractTreeViewer.java:374)

at org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(AbstractTreeViewer.java:265)

at org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer.java:645)
at org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTreeViewer.java:139)


at com.beacon.discovery.ui.databinding.ObservableSetTreeContentProvider.addViewerElements(ObservableSetTreeContentProvider.java:25)

at com.beacon.discovery.ui.databinding.ObservableSetStructuredContentProvider.doDiff(ObservableSetStructuredContentProvider.java:103)

at com.beacon.discovery.ui.databinding.ObservableSetStructuredContentProvider.access$2(ObservableSetStructuredContentProvider.java:97)

at com.beacon.discovery.ui.databinding.ObservableSetStructuredContentProvider$1.handleSetChange(ObservableSetStructuredContentProvider.java:72)

at org.eclipse.core.databinding.observable.set.SetChangeEvent.dispatch(SetChangeEvent.java:61)

at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:128)

at org.eclipse.core.databinding.observable.ChangeSupport.fireEvent(ChangeSupport.java:38)

at org.eclipse.core.databinding.observable.set.AbstractObservableSet.fireSetChange(AbstractObservableSet.java:80)

at com.beacon.discovery.ui.models.BidOfferMessageManager.access$0(BidOfferMessageManager.java:1)

at com.beacon.discovery.ui.models.BidOfferMessageManager$Dispatcher.fireSetChange(BidOfferMessageManager.java:137)

at com.beacon.discovery.ui.util.SetChangeDispatcher.run(SetChangeDispatcher.java:54)

at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)


... 23 more

At AbstractTreeViewer.java:374, the loop variable is 218, so 218 of the items have already been created in the tree, and the index for the new item when the exception is thrown is 222.

Does anyone have any ideas what could be causing this error. Is te bug mine or in SWT?

Thanks
Chris Audley


--
B e s t S o l u t i o n . at
--------------------------------------------------------------------
Tom Schindl                                          JFace-Committer
--------------------------------------------------------------------