| [news.eclipse.platform] Re: Viewer is busy |
Calling viewer.add(newRow) doesn't show this problem. :-)
David Perez wrote:
I forgot to mention that the table is virtual.
David Perez wrote:
Hi,
I want to add a new row in my viewer at the end.
So I have this code:
Table tbl = viewer.getTable(); insertIndex = tbl.getItemCount(); viewer.setItemCount(insertIndex+1); viewer.replace(newRow, insertIndex);
The problem is that it fails in the replace():
org.eclipse.jface.viewers.AbstractTableViewer.replace(AbstractTableViewer.java:1040)!MESSAGE Ignored reentrant call while viewer is busy. This is only logged once per viewer instance, but similar calls will still be ignored.
java.lang.RuntimeException
at org.eclipse.jface.viewers.ColumnViewer.checkBusy(ColumnViewer.java:763)
at
com.jobisjob.grid.crud.CrudContentProvider.updateElement(CrudContentProvider.java:273)at
org.eclipse.jface.viewers.AbstractTableViewer$1.handleEvent(AbstractTableViewer.java:78)at
org.eclipse.jface.viewers.ColumnLabelProvider.update(ColumnLabelProvider.java:38)at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
at org.eclipse.swt.widgets.Table.checkData(Table.java:928)
at org.eclipse.swt.widgets.Table.checkData(Table.java:917)
at org.eclipse.swt.widgets.TableItem.getImage(TableItem.java:550)
at org.eclipse.jface.viewers.TableViewerRow.setImage(TableViewerRow.java:132)
at org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.java:170)
at
org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:386)at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:145)
at
org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:466)at
org.eclipse.jface.viewers.StructuredViewer.refreshItem(StructuredViewer.java:1476)at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at
at
org.eclipse.jface.viewers.AbstractTableViewer.replace(AbstractTableViewer.java:1043)
I don't understand it. Any help please?