[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
[news.eclipse.tools.gef] UI SWTException: Invalid thread access during a stack command
|
I'm wondering if this is a bug, and if it is not a bug, what would be the
prefered method to fix this issue. Below you can see a stack trace of the
SWT exception.
What we are doing here is using an org.eclipse.ui.newWizards wizard to
create a new model element. The actual creation may take a while so the
creation of the model element has been placed into its own thread. Creating
the new model element then creates a command stack change, which sends an
update to the editor, which calls into the framework to update the text for
the diagram name. Since the name change is not in a UI thread we get the
SWT exception.
!ENTRY org.eclipse.core.runtime 4 2 2004-11-16 16:15:11.932
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.core.runtime".
!STACK 0
org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:2697)
at org.eclipse.swt.SWT.error(SWT.java:2622)
at org.eclipse.swt.SWT.error(SWT.java:2593)
at org.eclipse.swt.widgets.Widget.error(Widget.java:385)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:288)
at org.eclipse.swt.widgets.Widget.getData(Widget.java:415)
at
org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.g
etTab(DefaultTabFolder.java:159)
at
org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.g
etItems(DefaultTabFolder.java:211)
at
org.eclipse.ui.internal.presentations.newapi.AbstractTabFolder.findItem(Abst
ractTabFolder.java:169)
at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.getTab(Pr
esentablePartFolder.java:378)
at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.childProp
ertyChanged(PresentablePartFolder.java:311)
at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.access$2(
PresentablePartFolder.java:310)
at
org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder$3.propert
yChanged(PresentablePartFolder.java:84)
at
org.eclipse.ui.internal.presentations.PresentablePart.firePropertyChange(Pre
sentablePart.java:90)
at
org.eclipse.ui.internal.presentations.PresentablePart$1.propertyChanged(Pres
entablePart.java:62)
at
org.eclipse.ui.internal.WorkbenchPartReference.firePropertyChange(WorkbenchP
artReference.java:342)
at
org.eclipse.ui.internal.WorkbenchPartReference.partPropertyChanged(Workbench
PartReference.java:139)
at
org.eclipse.ui.internal.WorkbenchPartReference$1.propertyChanged(WorkbenchPa
rtReference.java:63)
at org.eclipse.ui.part.WorkbenchPart$1.run(WorkbenchPart.java:129)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java
:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at
org.eclipse.ui.part.WorkbenchPart.firePropertyChange(WorkbenchPart.java:127)
at
org.eclipse.gef.ui.parts.GraphicalEditor.firePropertyChange(GraphicalEditor.
java:145)
at
com.embarcadero.ui.infrastructure.gef.ui.parts.DiagramEditor.setDirty(Diagra
mEditor.java:580)
at
com.embarcadero.ui.infrastructure.gef.ui.parts.DiagramEditor.commandStackCha
nged(DiagramEditor.java:562)
at
org.eclipse.gef.commands.CommandStack.notifyListeners(CommandStack.java:186)
at org.eclipse.gef.commands.CommandStack.execute(CommandStack.java:89)
at
com.embarcadero.infrastructure.core.undoredo.ETCommandManager$ETCommandStack
.superExecute(ETCommandManager.java:57)
at
com.embarcadero.infrastructure.core.undoredo.ETCommandManager.execute(ETComm
andManager.java:92)
at
com.embarcadero.infrastructure.core.utils.XMLManip.setAttributeValue(XMLMani
p.java:359)
at
com.embarcadero.infrastructure.core.metamodel.core.foundation.VersionableEle
ment.setXMIID(VersionableElement.java:298)
at
com.embarcadero.infrastructure.core.metamodel.core.foundation.VersionableEle
ment.buildNodePresence(VersionableElement.java:1114)
at
com.embarcadero.infrastructure.core.metamodel.core.constructs.Class.establis
hNodePresence(Class.java:99)
at
com.embarcadero.infrastructure.core.metamodel.core.foundation.VersionableEle
ment.prepareNode(VersionableElement.java:87)
at
com.embarcadero.infrastructure.core.metamodel.core.foundation.CreationFactor
y.prepareNewElement(CreationFactory.java:144)
at
com.embarcadero.infrastructure.core.metamodel.core.foundation.CreationFactor
y.retrieveMetaType(CreationFactory.java:108)
at
com.embarcadero.infrastructure.core.metamodel.core.foundation.FactoryRetriev
er.createType(FactoryRetriever.java:109)
at
com.embarcadero.ui.infrastructure.wizard.NewElementWizard.doFinish(NewElemen
tWizard.java:122)
at
com.embarcadero.ui.infrastructure.wizard.NewElementWizard$1.run(NewElementWi
zard.java:81)
at
org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext
.java:105)
92824 [ModalContext] ERROR
com.embarcadero.infrastructure.core.metamodel.core.foundation.VersionableEle
ment - java.lang.NullPointerException