[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.platform] Re: Viewer is busy

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():

!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


org.eclipse.jface.viewers.AbstractTableViewer.replace(AbstractTableViewer.java:1040)
at

com.jobisjob.grid.crud.CrudContentProvider.updateElement(CrudContentProvider.java:273)
at

org.eclipse.jface.viewers.AbstractTableViewer$1.handleEvent(AbstractTableViewer.java:78)
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.ColumnLabelProvider.update(ColumnLabelProvider.java:38)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:145)
at


org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:386)
at

org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:466)
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


org.eclipse.jface.viewers.StructuredViewer.refreshItem(StructuredViewer.java:1476)
at

org.eclipse.jface.viewers.AbstractTableViewer.replace(AbstractTableViewer.java:1043)


I don't understand it.
Any help please?