Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » "Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed cau
"Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed cau [message #420861] Mon, 14 July 2008 21:20 Go to next message
Mircea Luchian is currently offline Mircea LuchianFriend
Messages: 89
Registered: July 2009
Member
This is a multi-part message in MIME format.
--------------050504020103060108050101
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hello Steve,

Since I started using Eclipse 3.4, I have a problem with any "eclipse
forms" based editor when I try to delete its resource while its
associated editor is open.
Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse 3.4.

Taking your "gfe" example found on
http://www.conceptualprocessengineering.com/library (or any of my other
eclipse forms based editors that have the same code as your example), I
noticed that the line 936 "gfEditor.this.dispose()" causes a null
pointer exception to appear in the dispose function defined at line 231
in class gfEditor.java. The context, in which this dispose function is
called, is defined in the "resourceChangeListener" variable on line 885.

Exploring things more in depth, it's the call to super.dispose() that
causes the problem and if I comment out the line as follows,

public void dispose() {

ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener);
getSite().getPage().removePartListener(partListener);
adapterFactory.dispose();
if (getActionBarContributor().getActiveEditor() == this) {
getActionBarContributor().setActiveEditor(null);
}
if (propertySheetPage != null) {
propertySheetPage.dispose();
}
if (contentOutlinePage != null) {
contentOutlinePage.dispose();
}
//super.dispose(); NO LONGER CALLING super.dispose()
}

there is no exception. Below you can find the complete stack trace for
when the line is not commented. This stack trace is based on my own
editor, based on the above example (the codes are the same).

What I can see is that Eclipse 3.4 offers a different behavior of how
the editor / or its associated resources are disposed. It's as if, by
calling super.dispose(), we try to dispose something that is already
disposed by the workbench automatically. There are plenty of SWT
exceptions following stating "Graphic is disposed". I confirm that this
behavior does not appear in eclipse 3.3.2.

To reproduce the problem:
1. build/run your application with Eclipse 3.4.
2. run it
3. go to File->New and create a project
4. create a new file associated with the "eclipse forms" editor.
5. open the file with the associated "eclipse forms" editor.
6. right click on the file and choose "X delete"
7. problem might not appear the first time so repeat the steps 4,5,6
once more.
8. after the second delete, a popup wants to appear, but can't as the
entire workbench is corrupt.
9. playing with the application menus or resizing it, we have the
interesting result shown in the screen shot



So far, commenting the call to super.dispose() is the only solution that
fixes the problem.
My editor plug-in is loaded as "singleton" (singleton=true in manifest.mf)

Do you have the same behavior on your side, and if so, what is your best
solution to fix it? Would you have a patch to post in bug 108470
<https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470>?

Thanks,

Mircea







============================================================ ===================================



!ENTRY org.eclipse.jface 4 0 2008-07-14 13:46:16.013
!MESSAGE Unhandled event loop exception during blocked modal context.
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable
(java.lang.NullPointerException)
at org.eclipse.swt.SWT.error(SWT.java:3777)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
at
org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370)
at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317)
at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558)
at
org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154)
at
org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147)
at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622)
at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446)
at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
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.Display.runDeferredEvents(Display.ja va:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
at org.eclipse.jface.window.Window.open(Window.java:801)
at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
at
org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
at org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
at
org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
at
org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
at
org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
at
org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
at
org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
at
org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
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.Display.runDeferredEvents(Display.ja va:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at com.matrox.fdk.core.Application.start(Application.java:111)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Caused by: java.lang.NullPointerException
at org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413)
at
com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604)
at
com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
... 59 more

!ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Graphic is disposed
at org.eclipse.swt.SWT.error(SWT.java:3777)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at org.eclipse.swt.SWT.error(SWT.java:3666)
at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
at org.eclipse.swt.widgets.Control.update(Control.java:3651)
at org.eclipse.swt.widgets.Display.update(Display.java:4414)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
at org.eclipse.jface.window.Window.open(Window.java:801)
at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
at
org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
at org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
at
org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
at
org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
at
org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
at
org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
at
org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
at
org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
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.Display.runDeferredEvents(Display.ja va:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at com.matrox.fdk.core.Application.start(Application.java:111)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

!ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:17.576
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Graphic is disposed
at org.eclipse.swt.SWT.error(SWT.java:3777)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at org.eclipse.swt.SWT.error(SWT.java:3666)
at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
at org.eclipse.swt.widgets.Tree.WM_RBUTTONDOWN(Tree.java:6711)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3852 )
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:23 70)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3420)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at com.matrox.fdk.core.Application.start(Application.java:111)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

!ENTRY org.eclipse.jface 4 2 2008-07-14 13:46:25.669
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.jface".
!STACK 0
java.lang.IllegalArgumentException: Argument not valid
at org.eclipse.swt.SWT.error(SWT.java:3761)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at org.eclipse.swt.SWT.error(SWT.java:3666)
at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
at org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1658 )
at
org.eclipse.jface.viewers.TreeViewerRow.setImage(TreeViewerR ow.java:166)
at org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.jav a:170)
at
org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider. update(DelegatingStyledCellLabelProvider.java:118)
at
org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider. update(DecoratingStyledCellLabelProvider.java:134)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn. java:145)
at
org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:932)
at
org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeR unnable.run(AbstractTreeViewer.java:102)
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:17 5)
at
org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:1012)
at
org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRun nable.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:17 5)
at
org.eclipse.jface.viewers.StructuredViewer.updateItem(Struct uredViewer.java:2041)
at
org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:827)
at
org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonV iewer.java:150)
at
org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElem ents(AbstractTreeViewer.java:359)
at
org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(Abs tractTreeViewer.java:270)
at org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer. java:652)
at
org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTre eViewer.java:144)
at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java: 247)
at
org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider$2.run(ResourceExtensionContentPro vider.java:256)
at
org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.runUpdates(ResourceExtensionConte ntProvider.java:295)
at
org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.processDelta(ResourceExtensionCon tentProvider.java:105)
at
org.eclipse.ui.model.WorkbenchContentProvider.resourceChange d(WorkbenchContentProvider.java:106)
at
org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at
org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
at
org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
at
org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
at
org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
at
org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1809)
at
org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:116)
at
org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:446)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:354)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 934)
at
com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard.performFinish(RegisterfileModelWizard.java:236)
at
org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:742)
at
org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
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.Display.runDeferredEvents(Display.ja va:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
at org.eclipse.jface.window.Window.open(Window.java:801)
at
org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
at
org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
at org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
at
org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
at
org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
at
org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
at
org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
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.Display.runDeferredEvents(Display.ja va:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at com.matrox.fdk.core.Application.start(Application.java:111)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

!ENTRY org.eclipse.ui.workbench 4 0 2008-07-14 13:46:26.029
!MESSAGE Graphic is disposed
!STACK 0
org.eclipse.swt.SWTException: Graphic is disposed
at org.eclipse.swt.SWT.error(SWT.java:3777)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at org.eclipse.swt.SWT.error(SWT.java:3666)
at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
at org.eclipse.swt.widgets.Control.update(Control.java:3651)
at org.eclipse.swt.widgets.Display.update(Display.java:4414)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
at org.eclipse.jface.window.Window.open(Window.java:801)
at
org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
at
org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
at org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
at
org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
at
org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
at
org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
at
org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
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.Display.runDeferredEvents(Display.ja va:3823)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at com.matrox.fdk.core.Application.start(Application.java:111)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)

!ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:26.060
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable
(org.eclipse.swt.SWTException: Graphic is disposed)
at org.eclipse.swt.SWT.error(SWT.java:3777)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at com.matrox.fdk.core.Application.start(Application.java:111)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
Caused by: org.eclipse.swt.SWTException: Graphic is disposed
at org.eclipse.swt.SWT.error(SWT.java:3777)
at org.eclipse.swt.SWT.error(SWT.java:3695)
at org.eclipse.swt.SWT.error(SWT.java:3666)
at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
at org.eclipse.swt.widgets.Tree.setSelection(Tree.java:4907)
at
org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:347)
at
org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2470)
at
org.eclipse.ui.navigator.CommonViewer.setSelectionToWidget(C ommonViewer.java:356)
at
org.eclipse.jface.viewers.StructuredViewer.setSelectionToWid get(StructuredViewer.java:1680)
at
org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2864)
at
org.eclipse.jface.viewers.StructuredViewer.setSelection(Stru cturedViewer.java:1636)
at
org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:1104)
at
org.eclipse.ui.navigator.CommonViewer.setSelection(CommonVie wer.java:327)
at
org.eclipse.ui.navigator.CommonNavigator.selectReveal(Common Navigator.java:314)
at
com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard$2.run(RegisterfileModelWizard.java:250)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
... 23 more

--------------050504020103060108050101
Content-Type: multipart/related;
boundary="------------010400070605080801020101"


--------------010400070605080801020101
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hello Steve, <br>
<br>
Since I started using Eclipse 3.4, I have a problem with any "eclipse
forms" based editor when I try to delete its resource while its
associated editor is open. <br>
Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
3.4. <br>
<br>
Taking your "gfe" example found on
<a class="moz-txt-link-freetext" href="http://www.conceptualprocessengineering.com/library">http://www.conceptualprocessengineering.com/library</a> (or any of my other
eclipse forms based editors that have the same code as your example), I
noticed that the line 936 "gfEditor.this.dispose()" causes a null
pointer exception to appear in the dispose function defined at line 231
in class gfEditor.java. The context, in which this dispose function is
called, is defined in the "resourceChangeListener" variable on line 885.<br>
<br>
Exploring things more in depth, it's the call to super.dispose() that
causes the problem and if I comment out the line as follows, <br>
<br>
<font face="Courier New" size="-1">&nbsp;&nbsp;&nbsp; public void dispose() {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getSite().getPage().removePartListener(partListener);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; adapterFactory.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (getActionBarContributor().getActiveEditor() == this) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getActionBarContributor().setActiveEditor(null);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (propertySheetPage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; propertySheetPage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (contentOutlinePage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; contentOutlinePage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //super.dispose(); NO LONGER CALLING super.dispose()<br>
&nbsp;&nbsp;&nbsp; }</font><br>
<br>
there is no exception. Below you can find the complete stack trace for
when the line is not commented. This stack trace is based on my own
editor, based on the above example (the codes are the same).<br>
<br>
What I can see is that Eclipse 3.4 offers a different behavior of how
the editor / or its associated resources are disposed. It's as if, by
calling super.dispose(), we try to dispose something that is already
disposed by the workbench automatically. There are plenty of SWT
exceptions following stating "<font face="Courier New" size="-1">Graphic
is disposed</font>". I confirm that this behavior does not appear in
eclipse 3.3.2. <br>
<br>
To reproduce the problem:<br>
1. build/run your application with Eclipse 3.4.<br>
2. run it<br>
3. go to File-&gt;New and create a project<br>
4. create a new file associated with the "eclipse forms" editor.<br>
5. open the file with the associated "eclipse forms" editor.<br>
6. right click on the file and choose "X delete"<br>
7. problem might not appear the first time so repeat the steps 4,5,6
once more.<br>
8. after the second delete, a popup wants to appear, but can't as the
entire workbench is corrupt. <br>
9. playing with the application menus or resizing it, we have the
interesting result shown in the screen shot<br>
<br>
<img src="cid:part1.07020804.03050907@matrox.com" alt=""><br>
<br>
So far, commenting the call to super.dispose() is the only solution
that fixes the problem. <br>
My editor plug-in is loaded as "singleton" (singleton=true in
manifest.mf)<br>
<br>
Do you have the same behavior on your side, and if so, what is your
best solution to fix it? Would you have a patch to post in bug <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470">108470</a>?<br>
<br>
Thanks, <br>
<br>
Mircea<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
============================================================ =================================== <br>
<br>
<br>
<br>
<font face="Courier New" size="-1">!ENTRY org.eclipse.jface 4 0
2008-07-14 13:46:16.013<br>
!MESSAGE Unhandled event loop exception during blocked modal context.<br>
!STACK 0<br>
org.eclipse.swt.SWTException: Failed to execute runnable
(java.lang.NullPointerException)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3777)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3695)<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3823) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.window.Window.open(Window.java:801)<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.commands.Command.executeWithChecks(Command. java:476) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3823) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149) <br>
&nbsp;&nbsp;&nbsp; at com.matrox.fdk.core.Application.start(Application.java:111)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179) <br>
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>
&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Unknown Source)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.run(Main.java:1236)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.main(Main.java:1212)<br>
Caused by: java.lang.NullPointerException<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413) <br>
&nbsp;&nbsp;&nbsp; at
com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604) <br>
&nbsp;&nbsp;&nbsp; at
com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133) <br>
&nbsp;&nbsp;&nbsp; ... 59 more<br>
<br>
!ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044<br>
!MESSAGE Unhandled event loop exception<br>
!STACK 0<br>
org.eclipse.swt.SWTException: Graphic is disposed<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3777)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3695)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3666)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.update(Control.java:3651)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Display.update(Display.java:4414)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.window.Window.open(Window.java:801)<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.commands.Command.executeWithChecks(Command. java:476) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3823) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149) <br>
&nbsp;&nbsp;&nbsp; at com.matrox.fdk.core.Application.start(Application.java:111)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179) <br>
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeM
Re: "Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed [message #420862 is a reply to message #420861] Mon, 14 July 2008 21:53 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------010506030601040602050806
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Mircea,

Comments below.


Mircea Luchian wrote:
> Hello Steve,
>
> Since I started using Eclipse 3.4, I have a problem with any "eclipse
> forms" based editor when I try to delete its resource while its
> associated editor is open.
> Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse 3.4.
>
> Taking your "gfe" example found on
> http://www.conceptualprocessengineering.com/library (or any of my
> other eclipse forms based editors that have the same code as your
> example), I noticed that the line 936 "gfEditor.this.dispose()" causes
> a null pointer exception to appear in the dispose function defined at
> line 231 in class gfEditor.java. The context, in which this dispose
> function is called, is defined in the "resourceChangeListener"
> variable on line 885.
I wonder if this is related to
https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797? I'm not sure
what changed in the platform that made the problem manifest itself, but
from the Javadoc, it was clear we should never have been calling dispose
explicitly.
>
> Exploring things more in depth, it's the call to super.dispose() that
> causes the problem and if I comment out the line as follows,
>
> public void dispose() {
>
> ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener);
> getSite().getPage().removePartListener(partListener);
> adapterFactory.dispose();
> if (getActionBarContributor().getActiveEditor() == this) {
> getActionBarContributor().setActiveEditor(null);
> }
> if (propertySheetPage != null) {
> propertySheetPage.dispose();
> }
> if (contentOutlinePage != null) {
> contentOutlinePage.dispose();
> }
> //super.dispose(); NO LONGER CALLING super.dispose()
> }
>
> there is no exception. Below you can find the complete stack trace for
> when the line is not commented. This stack trace is based on my own
> editor, based on the above example (the codes are the same).
>
> What I can see is that Eclipse 3.4 offers a different behavior of how
> the editor / or its associated resources are disposed. It's as if, by
> calling super.dispose(), we try to dispose something that is already
> disposed by the workbench automatically. There are plenty of SWT
> exceptions following stating "Graphic is disposed". I confirm that
> this behavior does not appear in eclipse 3.3.2.
>
> To reproduce the problem:
> 1. build/run your application with Eclipse 3.4.
> 2. run it
> 3. go to File->New and create a project
> 4. create a new file associated with the "eclipse forms" editor.
> 5. open the file with the associated "eclipse forms" editor.
> 6. right click on the file and choose "X delete"
> 7. problem might not appear the first time so repeat the steps 4,5,6
> once more.
> 8. after the second delete, a popup wants to appear, but can't as the
> entire workbench is corrupt.
> 9. playing with the application menus or resizing it, we have the
> interesting result shown in the screen shot
>
>
>
> So far, commenting the call to super.dispose() is the only solution
> that fixes the problem.
> My editor plug-in is loaded as "singleton" (singleton=true in manifest.mf)
>
> Do you have the same behavior on your side, and if so, what is your
> best solution to fix it? Would you have a patch to post in bug 108470
> <https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470>?
>
> Thanks,
>
> Mircea
>
>
>
>
>
>
>
> ============================================================ ===================================
>
>
>
> !ENTRY org.eclipse.jface 4 0 2008-07-14 13:46:16.013
> !MESSAGE Unhandled event loop exception during blocked modal context.
> !STACK 0
> org.eclipse.swt.SWTException: Failed to execute runnable
> (java.lang.NullPointerException)
> at org.eclipse.swt.SWT.error(SWT.java:3777)
> at org.eclipse.swt.SWT.error(SWT.java:3695)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
> at
> org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172)
> at org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370)
> at
> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558)
> at
> org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154)
> at
> org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622)
> at
> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446)
> at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72)
> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
> at
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
> 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.Display.runDeferredEvents(Display.ja va:3823)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
> at org.eclipse.jface.window.Window.open(Window.java:801)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
> at
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
> at
> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
> at
> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
> at
> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
> at
> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
> at
> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
> at
> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
> at
> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
> at
> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
> at
> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
> at
> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
> at
> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
> at
> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
> 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.Display.runDeferredEvents(Display.ja va:3823)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at com.matrox.fdk.core.Application.start(Application.java:111)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
> Caused by: java.lang.NullPointerException
> at org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413)
> at
> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604)
> at
> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377)
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
> ... 59 more
>
> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044
> !MESSAGE Unhandled event loop exception
> !STACK 0
> org.eclipse.swt.SWTException: Graphic is disposed
> at org.eclipse.swt.SWT.error(SWT.java:3777)
> at org.eclipse.swt.SWT.error(SWT.java:3695)
> at org.eclipse.swt.SWT.error(SWT.java:3666)
> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
> at org.eclipse.jface.window.Window.open(Window.java:801)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
> at
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
> at
> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
> at
> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
> at
> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
> at
> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
> at
> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
> at
> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
> at
> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
> at
> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
> at
> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
> at
> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
> at
> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
> at
> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
> at
> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
> 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.Display.runDeferredEvents(Display.ja va:3823)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at com.matrox.fdk.core.Application.start(Application.java:111)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>
> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:17.576
> !MESSAGE Unhandled event loop exception
> !STACK 0
> org.eclipse.swt.SWTException: Graphic is disposed
> at org.eclipse.swt.SWT.error(SWT.java:3777)
> at org.eclipse.swt.SWT.error(SWT.java:3695)
> at org.eclipse.swt.SWT.error(SWT.java:3666)
> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
> at org.eclipse.swt.widgets.Tree.WM_RBUTTONDOWN(Tree.java:6711)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3852 )
> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
> at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
> at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:23 70)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3420)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at com.matrox.fdk.core.Application.start(Application.java:111)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>
> !ENTRY org.eclipse.jface 4 2 2008-07-14 13:46:25.669
> !MESSAGE Problems occurred when invoking code from plug-in:
> "org.eclipse.jface".
> !STACK 0
> java.lang.IllegalArgumentException: Argument not valid
> at org.eclipse.swt.SWT.error(SWT.java:3761)
> at org.eclipse.swt.SWT.error(SWT.java:3695)
> at org.eclipse.swt.SWT.error(SWT.java:3666)
> at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
> at org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1658 )
> at
> org.eclipse.jface.viewers.TreeViewerRow.setImage(TreeViewerR ow.java:166)
> at org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.jav a:170)
> at
> org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider. update(DelegatingStyledCellLabelProvider.java:118)
> at
> org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider. update(DecoratingStyledCellLabelProvider.java:134)
> at
> org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn. java:145)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:932)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeR unnable.run(AbstractTreeViewer.java:102)
> 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:17 5)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:1012)
> at
> org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRun nable.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:17 5)
> at
> org.eclipse.jface.viewers.StructuredViewer.updateItem(Struct uredViewer.java:2041)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:827)
> at
> org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonV iewer.java:150)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElem ents(AbstractTreeViewer.java:359)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(Abs tractTreeViewer.java:270)
> at
> org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer. java:652)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTre eViewer.java:144)
> at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java: 247)
> at
> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider$2.run(ResourceExtensionContentPro vider.java:256)
> at
> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.runUpdates(ResourceExtensionConte ntProvider.java:295)
> at
> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.processDelta(ResourceExtensionCon tentProvider.java:105)
> at
> org.eclipse.ui.model.WorkbenchContentProvider.resourceChange d(WorkbenchContentProvider.java:106)
> at
> org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
> at
> org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
> at
> org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
> at
> org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
> at
> org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
> at
> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1809)
> at
> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:116)
> at
> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:446)
> at org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:354)
> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 934)
> at
> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard.performFinish(RegisterfileModelWizard.java:236)
> at
> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:742)
> at
> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
> at
> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
> 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.Display.runDeferredEvents(Display.ja va:3823)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
> at org.eclipse.jface.window.Window.open(Window.java:801)
> at
> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
> at
> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
> at
> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
> at
> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
> at
> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
> at
> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
> at
> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
> at
> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
> at
> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
> at
> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
> at
> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
> 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.Display.runDeferredEvents(Display.ja va:3823)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at com.matrox.fdk.core.Application.start(Application.java:111)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>
> !ENTRY org.eclipse.ui.workbench 4 0 2008-07-14 13:46:26.029
> !MESSAGE Graphic is disposed
> !STACK 0
> org.eclipse.swt.SWTException: Graphic is disposed
> at org.eclipse.swt.SWT.error(SWT.java:3777)
> at org.eclipse.swt.SWT.error(SWT.java:3695)
> at org.eclipse.swt.SWT.error(SWT.java:3666)
> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
> at org.eclipse.jface.window.Window.open(Window.java:801)
> at
> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
> at
> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
> at
> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
> at
> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
> at
> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
> at
> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
> at
> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
> at
> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
> at
> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
> at
> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
> at
> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
> 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.Display.runDeferredEvents(Display.ja va:3823)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at com.matrox.fdk.core.Application.start(Application.java:111)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>
> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:26.060
> !MESSAGE Unhandled event loop exception
> !STACK 0
> org.eclipse.swt.SWTException: Failed to execute runnable
> (org.eclipse.swt.SWTException: Graphic is disposed)
> at org.eclipse.swt.SWT.error(SWT.java:3777)
> at org.eclipse.swt.SWT.error(SWT.java:3695)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at com.matrox.fdk.core.Application.start(Application.java:111)
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
> Caused by: org.eclipse.swt.SWTException: Graphic is disposed
> at org.eclipse.swt.SWT.error(SWT.java:3777)
> at org.eclipse.swt.SWT.error(SWT.java:3695)
> at org.eclipse.swt.SWT.error(SWT.java:3666)
> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
> at org.eclipse.swt.widgets.Tree.setSelection(Tree.java:4907)
> at
> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:347)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2470)
> at
> org.eclipse.ui.navigator.CommonViewer.setSelectionToWidget(C ommonViewer.java:356)
> at
> org.eclipse.jface.viewers.StructuredViewer.setSelectionToWid get(StructuredViewer.java:1680)
> at
> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2864)
> at
> org.eclipse.jface.viewers.StructuredViewer.setSelection(Stru cturedViewer.java:1636)
> at
> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:1104)
> at
> org.eclipse.ui.navigator.CommonViewer.setSelection(CommonVie wer.java:327)
> at
> org.eclipse.ui.navigator.CommonNavigator.selectReveal(Common Navigator.java:314)
> at
> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard$2.run(RegisterfileModelWizard.java:250)
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
> at
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
> ... 23 more

--------------010506030601040602050806
Content-Type: multipart/related;
boundary="------------000306010709010802070404"


--------------000306010709010802070404
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Mircea,<br>
<br>
Comments below.<br>
<br>
<br>
Mircea Luchian wrote:
<blockquote cite="mid:487BC316.4030104@matrox.com" type="cite">
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
Hello Steve, <br>
<br>
Since I started using Eclipse 3.4, I have a problem with any "eclipse
forms" based editor when I try to delete its resource while its
associated editor is open. <br>
Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
3.4. <br>
<br>
Taking your "gfe" example found on
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://www.conceptualprocessengineering.com/library">http://www.conceptualprocessengineering.com/library</a>
(or any of my other
eclipse forms based editors that have the same code as your example), I
noticed that the line 936 "gfEditor.this.dispose()" causes a null
pointer exception to appear in the dispose function defined at line 231
in class gfEditor.java. The context, in which this dispose function is
called, is defined in the "resourceChangeListener" variable on line 885.<br>
</blockquote>
I wonder if this is related to <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797">https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797</a>?&nbsp;&nbsp;
I'm not sure what changed in the platform that made the problem
manifest itself, but from the Javadoc, it was clear we should never
have been calling dispose explicitly.<br>
<blockquote cite="mid:487BC316.4030104@matrox.com" type="cite"><br>
Exploring things more in depth, it's the call to super.dispose() that
causes the problem and if I comment out the line as follows, <br>
<br>
<font face="Courier New" size="-1">&nbsp;&nbsp;&nbsp; public void dispose() {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getSite().getPage().removePartListener(partListener);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; adapterFactory.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (getActionBarContributor().getActiveEditor() == this) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getActionBarContributor().setActiveEditor(null);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (propertySheetPage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; propertySheetPage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (contentOutlinePage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; contentOutlinePage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //super.dispose(); NO LONGER CALLING super.dispose()<br>
&nbsp;&nbsp;&nbsp; }</font><br>
<br>
there is no exception. Below you can find the complete stack trace for
when the line is not commented. This stack trace is based on my own
editor, based on the above example (the codes are the same).<br>
<br>
What I can see is that Eclipse 3.4 offers a different behavior of how
the editor / or its associated resources are disposed. It's as if, by
calling super.dispose(), we try to dispose something that is already
disposed by the workbench automatically. There are plenty of SWT
exceptions following stating "<font face="Courier New" size="-1">Graphic
is disposed</font>". I confirm that this behavior does not appear in
eclipse 3.3.2. <br>
<br>
To reproduce the problem:<br>
1. build/run your application with Eclipse 3.4.<br>
2. run it<br>
3. go to File-&gt;New and create a project<br>
4. create a new file associated with the "eclipse forms" editor.<br>
5. open the file with the associated "eclipse forms" editor.<br>
6. right click on the file and choose "X delete"<br>
7. problem might not appear the first time so repeat the steps 4,5,6
once more.<br>
8. after the second delete, a popup wants to appear, but can't as the
entire workbench is corrupt. <br>
9. playing with the application menus or resizing it, we have the
interesting result shown in the screen shot<br>
<br>
<img src="cid:part1.00010605.03020109@gmail.com" alt=""><br>
<br>
So far, commenting the call to super.dispose() is the only solution
that fixes the problem. <br>
My editor plug-in is loaded as "singleton" (singleton=true in
manifest.mf)<br>
<br>
Do you have the same behavior on your side, and if so, what is your
best solution to fix it? Would you have a patch to post in bug <a
moz-do-not-send="true"
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470">108470</a>?<br>
<br>
Thanks, <br>
<br>
Mircea<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
============================================================ =================================== <br>
<br>
<br>
<br>
<font face="Courier New" size="-1">!ENTRY org.eclipse.jface 4 0
2008-07-14 13:46:16.013<br>
!MESSAGE Unhandled event loop exception during blocked modal context.<br>
!STACK 0<br>
org.eclipse.swt.SWTException: Failed to execute runnable
(java.lang.NullPointerException)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3777)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3695)<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3823) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.window.Window.open(Window.java:801)<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.commands.Command.executeWithChecks(Command. java:476) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3823) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149) <br>
&nbsp;&nbsp;&nbsp; at com.matrox.fdk.core.Application.start(Application.java:111)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179) <br>
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>
&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Unknown Source)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.run(Main.java:1236)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.main(Main.java:1212)<br>
Caused by: java.lang.NullPointerException<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413) <br>
&nbsp;&nbsp;&nbsp; at
com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604) <br>
&nbsp;&nbsp;&nbsp; at
com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133) <br>
&nbsp;&nbsp;&nbsp; ... 59 more<br>
<br>
!ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044<br>
!MESSAGE Unhandled event loop exception<br>
!STACK 0<br>
org.eclipse.swt.SWTException: Graphic is disposed<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3777)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3695)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3666)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)<br >
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Control.w


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: "Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed [message #420864 is a reply to message #420862] Mon, 14 July 2008 23:20 Go to previous messageGo to next message
Steve Blass is currently offline Steve BlassFriend
Messages: 276
Registered: July 2009
Senior Member
Mircea,

Thanks for pointing out that the example editor I posted suffered from
that dispose problem. I put a note based on your post in bug 108470.
I'm not sure what approach to take going forward - patch and repost the
gfe example or put forward one or another of a couple more 'reusable'
ideas. I suppose the bug is the place to ask but one idea I have that I
know can work is an editor extension point that can be used to add pages
with or without forms to generated editors.

-
Steve



Ed Merks wrote:
> Mircea,
>
> Comments below.
>
>
> Mircea Luchian wrote:
>> Hello Steve,
>>
>> Since I started using Eclipse 3.4, I have a problem with any "eclipse
>> forms" based editor when I try to delete its resource while its
>> associated editor is open.
>> Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse 3.4.
>>
>> Taking your "gfe" example found on
>> http://www.conceptualprocessengineering.com/library (or any of my
>> other eclipse forms based editors that have the same code as your
>> example), I noticed that the line 936 "gfEditor.this.dispose()" causes
>> a null pointer exception to appear in the dispose function defined at
>> line 231 in class gfEditor.java. The context, in which this dispose
>> function is called, is defined in the "resourceChangeListener"
>> variable on line 885.
> I wonder if this is related to
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797? I'm not sure
> what changed in the platform that made the problem manifest itself, but
> from the Javadoc, it was clear we should never have been calling dispose
> explicitly.
>>
>> Exploring things more in depth, it's the call to super.dispose() that
>> causes the problem and if I comment out the line as follows,
>>
>> public void dispose() {
>>
>> ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener);
>> getSite().getPage().removePartListener(partListener);
>> adapterFactory.dispose();
>> if (getActionBarContributor().getActiveEditor() == this) {
>> getActionBarContributor().setActiveEditor(null);
>> }
>> if (propertySheetPage != null) {
>> propertySheetPage.dispose();
>> }
>> if (contentOutlinePage != null) {
>> contentOutlinePage.dispose();
>> }
>> //super.dispose(); NO LONGER CALLING super.dispose()
>> }
>>
>> there is no exception. Below you can find the complete stack trace for
>> when the line is not commented. This stack trace is based on my own
>> editor, based on the above example (the codes are the same).
>>
>> What I can see is that Eclipse 3.4 offers a different behavior of how
>> the editor / or its associated resources are disposed. It's as if, by
>> calling super.dispose(), we try to dispose something that is already
>> disposed by the workbench automatically. There are plenty of SWT
>> exceptions following stating "Graphic is disposed". I confirm that
>> this behavior does not appear in eclipse 3.3.2.
>>
>> To reproduce the problem:
>> 1. build/run your application with Eclipse 3.4.
>> 2. run it
>> 3. go to File->New and create a project
>> 4. create a new file associated with the "eclipse forms" editor.
>> 5. open the file with the associated "eclipse forms" editor.
>> 6. right click on the file and choose "X delete"
>> 7. problem might not appear the first time so repeat the steps 4,5,6
>> once more.
>> 8. after the second delete, a popup wants to appear, but can't as the
>> entire workbench is corrupt.
>> 9. playing with the application menus or resizing it, we have the
>> interesting result shown in the screen shot
>>
>>
>>
>> So far, commenting the call to super.dispose() is the only solution
>> that fixes the problem.
>> My editor plug-in is loaded as "singleton" (singleton=true in manifest.mf)
>>
>> Do you have the same behavior on your side, and if so, what is your
>> best solution to fix it? Would you have a patch to post in bug 108470
>> <https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470>?
>>
>> Thanks,
>>
>> Mircea
>>
>>
>>
>>
>>
>>
>>
>> ============================================================ ===================================
>>
>>
>>
>> !ENTRY org.eclipse.jface 4 0 2008-07-14 13:46:16.013
>> !MESSAGE Unhandled event loop exception during blocked modal context.
>> !STACK 0
>> org.eclipse.swt.SWTException: Failed to execute runnable
>> (java.lang.NullPointerException)
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>> at
>> org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172)
>> at org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370)
>> at
>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558)
>> at
>> org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154)
>> at
>> org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622)
>> at
>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446)
>> at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72)
>> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>> at
>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>> at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>> at
>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>> at
>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>> at
>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>> at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>> at
>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>> at
>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>> at
>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>> at
>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>> at
>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>> Caused by: java.lang.NullPointerException
>> at org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413)
>> at
>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604)
>> at
>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377)
>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>> ... 59 more
>>
>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044
>> !MESSAGE Unhandled event loop exception
>> !STACK 0
>> org.eclipse.swt.SWTException: Graphic is disposed
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>> at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>> at
>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>> at
>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>> at
>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>> at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>> at
>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>> at
>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>> at
>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>> at
>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>> at
>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>
>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:17.576
>> !MESSAGE Unhandled event loop exception
>> !STACK 0
>> org.eclipse.swt.SWTException: Graphic is disposed
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>> at org.eclipse.swt.widgets.Tree.WM_RBUTTONDOWN(Tree.java:6711)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3852 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:23 70)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3420)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>
>> !ENTRY org.eclipse.jface 4 2 2008-07-14 13:46:25.669
>> !MESSAGE Problems occurred when invoking code from plug-in:
>> "org.eclipse.jface".
>> !STACK 0
>> java.lang.IllegalArgumentException: Argument not valid
>> at org.eclipse.swt.SWT.error(SWT.java:3761)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
>> at org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1658 )
>> at
>> org.eclipse.jface.viewers.TreeViewerRow.setImage(TreeViewerR ow.java:166)
>> at org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.jav a:170)
>> at
>> org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider. update(DelegatingStyledCellLabelProvider.java:118)
>> at
>> org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider. update(DecoratingStyledCellLabelProvider.java:134)
>> at
>> org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn. java:145)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:932)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeR unnable.run(AbstractTreeViewer.java:102)
>> 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:17 5)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:1012)
>> at
>> org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRun nable.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:17 5)
>> at
>> org.eclipse.jface.viewers.StructuredViewer.updateItem(Struct uredViewer.java:2041)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:827)
>> at
>> org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonV iewer.java:150)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElem ents(AbstractTreeViewer.java:359)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(Abs tractTreeViewer.java:270)
>> at
>> org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer. java:652)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTre eViewer.java:144)
>> at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java: 247)
>> at
>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider$2.run(ResourceExtensionContentPro vider.java:256)
>> at
>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.runUpdates(ResourceExtensionConte ntProvider.java:295)
>> at
>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.processDelta(ResourceExtensionCon tentProvider.java:105)
>> at
>> org.eclipse.ui.model.WorkbenchContentProvider.resourceChange d(WorkbenchContentProvider.java:106)
>> at
>> org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>> at
>> org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
>> at
>> org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
>> at
>> org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
>> at
>> org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
>> at
>> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1809)
>> at
>> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:116)
>> at
>> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:446)
>> at org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:354)
>> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 934)
>> at
>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard.performFinish(RegisterfileModelWizard.java:236)
>> at
>> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:742)
>> at
>> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
>> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>> at
>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>> at
>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>> at
>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>> at
>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>> at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>> at
>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>> at
>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>> at
>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>
>> !ENTRY org.eclipse.ui.workbench 4 0 2008-07-14 13:46:26.029
>> !MESSAGE Graphic is disposed
>> !STACK 0
>> org.eclipse.swt.SWTException: Graphic is disposed
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>> at
>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>> at
>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>> at
>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>> at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>> at
>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>> at
>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>> at
>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>
>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:26.060
>> !MESSAGE Unhandled event loop exception
>> !STACK 0
>> org.eclipse.swt.SWTException: Failed to execute runnable
>> (org.eclipse.swt.SWTException: Graphic is disposed)
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>> Caused by: org.eclipse.swt.SWTException: Graphic is disposed
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>> at org.eclipse.swt.widgets.Tree.setSelection(Tree.java:4907)
>> at
>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:347)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2470)
>> at
>> org.eclipse.ui.navigator.CommonViewer.setSelectionToWidget(C ommonViewer.java:356)
>> at
>> org.eclipse.jface.viewers.StructuredViewer.setSelectionToWid get(StructuredViewer.java:1680)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2864)
>> at
>> org.eclipse.jface.viewers.StructuredViewer.setSelection(Stru cturedViewer.java:1636)
>> at
>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:1104)
>> at
>> org.eclipse.ui.navigator.CommonViewer.setSelection(CommonVie wer.java:327)
>> at
>> org.eclipse.ui.navigator.CommonNavigator.selectReveal(Common Navigator.java:314)
>> at
>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard$2.run(RegisterfileModelWizard.java:250)
>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>> ... 23 more
Re: "Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed [message #420880 is a reply to message #420864] Tue, 15 July 2008 14:08 Go to previous messageGo to next message
Mircea Luchian is currently offline Mircea LuchianFriend
Messages: 89
Registered: July 2009
Member
Thanks Steve,

I will try to see the solution to the bug pointed by Ed.
Is there a plan to push the "gfe" example into the EMF code generation
plugin?

Mircea


Steve Blass wrote:
> Mircea,
>
> Thanks for pointing out that the example editor I posted suffered from
> that dispose problem. I put a note based on your post in bug 108470.
> I'm not sure what approach to take going forward - patch and repost
> the gfe example or put forward one or another of a couple more
> 'reusable' ideas. I suppose the bug is the place to ask but one idea
> I have that I know can work is an editor extension point that can be
> used to add pages with or without forms to generated editors.
>
> -
> Steve
>
>
>
> Ed Merks wrote:
>> Mircea,
>>
>> Comments below.
>>
>>
>> Mircea Luchian wrote:
>>> Hello Steve,
>>>
>>> Since I started using Eclipse 3.4, I have a problem with any
>>> "eclipse forms" based editor when I try to delete its resource while
>>> its associated editor is open.
>>> Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
>>> 3.4.
>>>
>>> Taking your "gfe" example found on
>>> http://www.conceptualprocessengineering.com/library (or any of my
>>> other eclipse forms based editors that have the same code as your
>>> example), I noticed that the line 936 "gfEditor.this.dispose()"
>>> causes a null pointer exception to appear in the dispose function
>>> defined at line 231 in class gfEditor.java. The context, in which
>>> this dispose function is called, is defined in the
>>> "resourceChangeListener" variable on line 885.
>> I wonder if this is related to
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797? I'm not sure
>> what changed in the platform that made the problem manifest itself,
>> but from the Javadoc, it was clear we should never have been calling
>> dispose explicitly.
>>>
>>> Exploring things more in depth, it's the call to super.dispose()
>>> that causes the problem and if I comment out the line as follows,
>>>
>>> public void dispose() {
>>>
>>> ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener);
>>>
>>> getSite().getPage().removePartListener(partListener);
>>> adapterFactory.dispose();
>>> if (getActionBarContributor().getActiveEditor() == this) {
>>> getActionBarContributor().setActiveEditor(null);
>>> }
>>> if (propertySheetPage != null) {
>>> propertySheetPage.dispose();
>>> }
>>> if (contentOutlinePage != null) {
>>> contentOutlinePage.dispose();
>>> }
>>> //super.dispose(); NO LONGER CALLING super.dispose()
>>> }
>>>
>>> there is no exception. Below you can find the complete stack trace
>>> for when the line is not commented. This stack trace is based on my
>>> own editor, based on the above example (the codes are the same).
>>>
>>> What I can see is that Eclipse 3.4 offers a different behavior of
>>> how the editor / or its associated resources are disposed. It's as
>>> if, by calling super.dispose(), we try to dispose something that is
>>> already disposed by the workbench automatically. There are plenty of
>>> SWT exceptions following stating "Graphic is disposed". I confirm
>>> that this behavior does not appear in eclipse 3.3.2.
>>>
>>> To reproduce the problem:
>>> 1. build/run your application with Eclipse 3.4.
>>> 2. run it
>>> 3. go to File->New and create a project
>>> 4. create a new file associated with the "eclipse forms" editor.
>>> 5. open the file with the associated "eclipse forms" editor.
>>> 6. right click on the file and choose "X delete"
>>> 7. problem might not appear the first time so repeat the steps 4,5,6
>>> once more.
>>> 8. after the second delete, a popup wants to appear, but can't as
>>> the entire workbench is corrupt.
>>> 9. playing with the application menus or resizing it, we have the
>>> interesting result shown in the screen shot
>>>
>>>
>>>
>>> So far, commenting the call to super.dispose() is the only solution
>>> that fixes the problem.
>>> My editor plug-in is loaded as "singleton" (singleton=true in
>>> manifest.mf)
>>>
>>> Do you have the same behavior on your side, and if so, what is your
>>> best solution to fix it? Would you have a patch to post in bug
>>> 108470 <https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470>?
>>>
>>> Thanks,
>>>
>>> Mircea
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ============================================================ ===================================
>>>
>>>
>>>
>>>
>>> !ENTRY org.eclipse.jface 4 0 2008-07-14 13:46:16.013
>>> !MESSAGE Unhandled event loop exception during blocked modal context.
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Failed to execute runnable
>>> (java.lang.NullPointerException)
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>>>
>>> at
>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>>> at
>>> org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172)
>>>
>>> at
>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317)
>>>
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558)
>>>
>>> at
>>> org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154)
>>>
>>> at
>>> org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147)
>>>
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622)
>>>
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446)
>>>
>>> at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72)
>>> at
>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>>> at
>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>>>
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>>>
>>> at
>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>>>
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>
>>> at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>>>
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>>>
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>>>
>>> at
>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>>>
>>> at
>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>> Caused by: java.lang.NullPointerException
>>> at
>>> org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413)
>>> at
>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604)
>>>
>>> at
>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377)
>>>
>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>>>
>>> ... 59 more
>>>
>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044
>>> !MESSAGE Unhandled event loop exception
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Graphic is disposed
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>>>
>>> at
>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>>>
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>
>>> at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>>>
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>>>
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>>>
>>> at
>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>>>
>>> at
>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>
>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:17.576
>>> !MESSAGE Unhandled event loop exception
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Graphic is disposed
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>>> at org.eclipse.swt.widgets.Tree.WM_RBUTTONDOWN(Tree.java:6711)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3852 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native
>>> Method)
>>> at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:23 70)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3420)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>
>>> !ENTRY org.eclipse.jface 4 2 2008-07-14 13:46:25.669
>>> !MESSAGE Problems occurred when invoking code from plug-in:
>>> "org.eclipse.jface".
>>> !STACK 0
>>> java.lang.IllegalArgumentException: Argument not valid
>>> at org.eclipse.swt.SWT.error(SWT.java:3761)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
>>> at org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1658 )
>>> at
>>> org.eclipse.jface.viewers.TreeViewerRow.setImage(TreeViewerR ow.java:166)
>>>
>>> at
>>> org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.jav a:170)
>>> at
>>> org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider. update(DelegatingStyledCellLabelProvider.java:118)
>>>
>>> at
>>> org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider. update(DecoratingStyledCellLabelProvider.java:134)
>>>
>>> at
>>> org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn. java:145)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:932)
>>>
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeR unnable.run(AbstractTreeViewer.java:102)
>>>
>>> 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:17 5)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:1012)
>>>
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRun nable.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:17 5)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.updateItem(Struct uredViewer.java:2041)
>>>
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:827)
>>>
>>> at
>>> org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonV iewer.java:150)
>>>
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElem ents(AbstractTreeViewer.java:359)
>>>
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(Abs tractTreeViewer.java:270)
>>>
>>> at
>>> org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer. java:652)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTre eViewer.java:144)
>>>
>>> at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java: 247)
>>> at
>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider$2.run(ResourceExtensionContentPro vider.java:256)
>>>
>>> at
>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.runUpdates(ResourceExtensionConte ntProvider.java:295)
>>>
>>> at
>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.processDelta(ResourceExtensionCon tentProvider.java:105)
>>>
>>> at
>>> org.eclipse.ui.model.WorkbenchContentProvider.resourceChange d(WorkbenchContentProvider.java:106)
>>>
>>> at
>>> org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
>>>
>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>>> at
>>> org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
>>>
>>> at
>>> org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
>>>
>>> at
>>> org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
>>>
>>> at
>>> org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
>>>
>>> at
>>> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1809)
>>> at
>>> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:116)
>>>
>>> at
>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:446)
>>>
>>> at
>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:354)
>>> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 934)
>>> at
>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard.performFinish(RegisterfileModelWizard.java:236)
>>>
>>> at
>>> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:742)
>>>
>>> at
>>> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
>>>
>>> at
>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>>> at
>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>>>
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>> at
>>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>
>>> at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>>>
>>> at
>>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>
>>> !ENTRY org.eclipse.ui.workbench 4 0 2008-07-14 13:46:26.029
>>> !MESSAGE Graphic is disposed
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Graphic is disposed
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>> at
>>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>
>>> at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>>>
>>> at
>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>>>
>>> at
>>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>
>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:26.060
>>> !MESSAGE Unhandled event loop exception
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Failed to execute runnable
>>> (org.eclipse.swt.SWTException: Graphic is disposed)
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>>>
>>> at
>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>> Caused by: org.eclipse.swt.SWTException: Graphic is disposed
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>>> at org.eclipse.swt.widgets.Tree.setSelection(Tree.java:4907)
>>> at
>>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:347)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2470)
>>>
>>> at
>>> org.eclipse.ui.navigator.CommonViewer.setSelectionToWidget(C ommonViewer.java:356)
>>>
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.setSelectionToWid get(StructuredViewer.java:1680)
>>>
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2864)
>>>
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.setSelection(Stru cturedViewer.java:1636)
>>>
>>> at
>>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:1104)
>>> at
>>> org.eclipse.ui.navigator.CommonViewer.setSelection(CommonVie wer.java:327)
>>>
>>> at
>>> org.eclipse.ui.navigator.CommonNavigator.selectReveal(Common Navigator.java:314)
>>>
>>> at
>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard$2.run(RegisterfileModelWizard.java:250)
>>>
>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>>>
>>> ... 23 more
Re: "Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed [message #420881 is a reply to message #420862] Tue, 15 July 2008 14:14 Go to previous messageGo to next message
Mircea Luchian is currently offline Mircea LuchianFriend
Messages: 89
Registered: July 2009
Member
This is a multi-part message in MIME format.
--------------080607050101020009050308
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hello Ed,

Looking at bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797, the
end result is similar (same types of exception and corruption). To
reproduce the problem, what I do is delete (and not re-factor) the files
that are opened by EMF based editors.

Is there a plan to put the "eclipse forms" based editor into the EMF
code generation plugin?

Mircea

Ed Merks wrote:
> Mircea,
>
> Comments below.
>
>
> Mircea Luchian wrote:
>> Hello Steve,
>>
>> Since I started using Eclipse 3.4, I have a problem with any "eclipse
>> forms" based editor when I try to delete its resource while its
>> associated editor is open.
>> Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse 3.4.
>>
>> Taking your "gfe" example found on
>> http://www.conceptualprocessengineering.com/library (or any of my
>> other eclipse forms based editors that have the same code as your
>> example), I noticed that the line 936 "gfEditor.this.dispose()"
>> causes a null pointer exception to appear in the dispose function
>> defined at line 231 in class gfEditor.java. The context, in which
>> this dispose function is called, is defined in the
>> "resourceChangeListener" variable on line 885.
> I wonder if this is related to
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797? I'm not sure
> what changed in the platform that made the problem manifest itself,
> but from the Javadoc, it was clear we should never have been calling
> dispose explicitly.
>>
>> Exploring things more in depth, it's the call to super.dispose() that
>> causes the problem and if I comment out the line as follows,
>>
>> public void dispose() {
>>
>> ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener);
>> getSite().getPage().removePartListener(partListener);
>> adapterFactory.dispose();
>> if (getActionBarContributor().getActiveEditor() == this) {
>> getActionBarContributor().setActiveEditor(null);
>> }
>> if (propertySheetPage != null) {
>> propertySheetPage.dispose();
>> }
>> if (contentOutlinePage != null) {
>> contentOutlinePage.dispose();
>> }
>> //super.dispose(); NO LONGER CALLING super.dispose()
>> }
>>
>> there is no exception. Below you can find the complete stack trace
>> for when the line is not commented. This stack trace is based on my
>> own editor, based on the above example (the codes are the same).
>>
>> What I can see is that Eclipse 3.4 offers a different behavior of how
>> the editor / or its associated resources are disposed. It's as if, by
>> calling super.dispose(), we try to dispose something that is already
>> disposed by the workbench automatically. There are plenty of SWT
>> exceptions following stating "Graphic is disposed". I confirm that
>> this behavior does not appear in eclipse 3.3.2.
>>
>> To reproduce the problem:
>> 1. build/run your application with Eclipse 3.4.
>> 2. run it
>> 3. go to File->New and create a project
>> 4. create a new file associated with the "eclipse forms" editor.
>> 5. open the file with the associated "eclipse forms" editor.
>> 6. right click on the file and choose "X delete"
>> 7. problem might not appear the first time so repeat the steps 4,5,6
>> once more.
>> 8. after the second delete, a popup wants to appear, but can't as the
>> entire workbench is corrupt.
>> 9. playing with the application menus or resizing it, we have the
>> interesting result shown in the screen shot
>>
>>
>>
>> So far, commenting the call to super.dispose() is the only solution
>> that fixes the problem.
>> My editor plug-in is loaded as "singleton" (singleton=true in
>> manifest.mf)
>>
>> Do you have the same behavior on your side, and if so, what is your
>> best solution to fix it? Would you have a patch to post in bug 108470
>> <https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470>?
>>
>> Thanks,
>>
>> Mircea
>>
>>
>>
>>
>>
>>
>>
>> ============================================================ ===================================
>>
>>
>>
>> !ENTRY org.eclipse.jface 4 0 2008-07-14 13:46:16.013
>> !MESSAGE Unhandled event loop exception during blocked modal context.
>> !STACK 0
>> org.eclipse.swt.SWTException: Failed to execute runnable
>> (java.lang.NullPointerException)
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>> at
>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>> at
>> org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172)
>> at
>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370)
>> at
>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558)
>> at
>> org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154)
>> at
>> org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622)
>> at
>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446)
>> at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72)
>> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>> at
>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>> at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>> at
>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>> at
>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>> at
>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>> at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>> at
>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>> at
>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>> at
>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>> at
>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>> at
>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at
>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>> Caused by: java.lang.NullPointerException
>> at
>> org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413)
>> at
>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604)
>> at
>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377)
>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>> ... 59 more
>>
>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044
>> !MESSAGE Unhandled event loop exception
>> !STACK 0
>> org.eclipse.swt.SWTException: Graphic is disposed
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>> at
>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>> at
>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>> at
>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>> at
>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>> at
>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>> at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>> at
>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>> at
>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>> at
>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>> at
>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>> at
>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at
>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>
>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:17.576
>> !MESSAGE Unhandled event loop exception
>> !STACK 0
>> org.eclipse.swt.SWTException: Graphic is disposed
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>> at org.eclipse.swt.widgets.Tree.WM_RBUTTONDOWN(Tree.java:6711)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3852 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:23 70)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3420)
>> at
>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>
>> !ENTRY org.eclipse.jface 4 2 2008-07-14 13:46:25.669
>> !MESSAGE Problems occurred when invoking code from plug-in:
>> "org.eclipse.jface".
>> !STACK 0
>> java.lang.IllegalArgumentException: Argument not valid
>> at org.eclipse.swt.SWT.error(SWT.java:3761)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
>> at org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1658 )
>> at
>> org.eclipse.jface.viewers.TreeViewerRow.setImage(TreeViewerR ow.java:166)
>> at org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.jav a:170)
>> at
>> org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider. update(DelegatingStyledCellLabelProvider.java:118)
>> at
>> org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider. update(DecoratingStyledCellLabelProvider.java:134)
>> at
>> org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn. java:145)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:932)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeR unnable.run(AbstractTreeViewer.java:102)
>> 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:17 5)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:1012)
>> at
>> org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRun nable.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:17 5)
>> at
>> org.eclipse.jface.viewers.StructuredViewer.updateItem(Struct uredViewer.java:2041)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:827)
>> at
>> org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonV iewer.java:150)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElem ents(AbstractTreeViewer.java:359)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(Abs tractTreeViewer.java:270)
>> at
>> org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer. java:652)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTre eViewer.java:144)
>> at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java: 247)
>> at
>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider$2.run(ResourceExtensionContentPro vider.java:256)
>> at
>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.runUpdates(ResourceExtensionConte ntProvider.java:295)
>> at
>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.processDelta(ResourceExtensionCon tentProvider.java:105)
>> at
>> org.eclipse.ui.model.WorkbenchContentProvider.resourceChange d(WorkbenchContentProvider.java:106)
>> at
>> org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>> at
>> org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
>> at
>> org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
>> at
>> org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
>> at
>> org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
>> at
>> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1809)
>> at
>> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:116)
>> at
>> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:446)
>> at
>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:354)
>> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 934)
>> at
>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard.performFinish(RegisterfileModelWizard.java:236)
>> at
>> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:742)
>> at
>> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
>> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>> at
>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>> at
>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>> at
>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>> at
>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>> at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>> at
>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>> at
>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>> at
>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at
>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>
>> !ENTRY org.eclipse.ui.workbench 4 0 2008-07-14 13:46:26.029
>> !MESSAGE Graphic is disposed
>> !STACK 0
>> org.eclipse.swt.SWTException: Graphic is disposed
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>> at org.eclipse.jface.window.Window.open(Window.java:801)
>> at
>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>> at
>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>> at
>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>> at
>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>> at
>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>> at
>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>> at
>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>> at
>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>> at
>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>> at
>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>> at
>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>> 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.Display.runDeferredEvents(Display.ja va:3823)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>> at
>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>
>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:26.060
>> !MESSAGE Unhandled event loop exception
>> !STACK 0
>> org.eclipse.swt.SWTException: Failed to execute runnable
>> (org.eclipse.swt.SWTException: Graphic is disposed)
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>> at
>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>> at
>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>> at
>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>> at
>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>> at
>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>> at com.matrox.fdk.core.Application.start(Application.java:111)
>> at
>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>> at
>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>> at
>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>> Caused by: org.eclipse.swt.SWTException: Graphic is disposed
>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>> at org.eclipse.swt.widgets.Tree.setSelection(Tree.java:4907)
>> at
>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:347)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2470)
>> at
>> org.eclipse.ui.navigator.CommonViewer.setSelectionToWidget(C ommonViewer.java:356)
>> at
>> org.eclipse.jface.viewers.StructuredViewer.setSelectionToWid get(StructuredViewer.java:1680)
>> at
>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2864)
>> at
>> org.eclipse.jface.viewers.StructuredViewer.setSelection(Stru cturedViewer.java:1636)
>> at
>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:1104)
>> at
>> org.eclipse.ui.navigator.CommonViewer.setSelection(CommonVie wer.java:327)
>> at
>> org.eclipse.ui.navigator.CommonNavigator.selectReveal(Common Navigator.java:314)
>> at
>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard$2.run(RegisterfileModelWizard.java:250)
>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>> at
>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>> ... 23 more


--------------080607050101020009050308
Content-Type: multipart/related;
boundary="------------020905090106030307090609"


--------------020905090106030307090609
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hello Ed, <br>
<br>
Looking at bug <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797">https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797</a>,
the end result is similar (same types of exception and corruption). To
reproduce the problem, what I do is delete (and not re-factor) the
files that are opened by EMF based editors. <br>
<br>
Is there a plan to put the "eclipse forms" based editor into the EMF
code generation plugin? <br>
<br>
Mircea<br>
<br>
Ed Merks wrote:
<blockquote cite="midg5ghtc$og6$1@build.eclipse.org" type="cite">
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
Mircea,<br>
<br>
Comments below.<br>
<br>
<br>
Mircea Luchian wrote:
<blockquote cite="mid:487BC316.4030104@matrox.com" type="cite">
<meta content="text/html;charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
Hello Steve, <br>
<br>
Since I started using Eclipse 3.4, I have a problem with any "eclipse
forms" based editor when I try to delete its resource while its
associated editor is open. <br>
Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
3.4. <br>
<br>
Taking your "gfe" example found on <a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://www.conceptualprocessengineering.com/library">http://www.conceptualprocessengineering.com/library</a>
(or any of my other
eclipse forms based editors that have the same code as your example), I
noticed that the line 936 "gfEditor.this.dispose()" causes a null
pointer exception to appear in the dispose function defined at line 231
in class gfEditor.java. The context, in which this dispose function is
called, is defined in the "resourceChangeListener" variable on line 885.<br>
</blockquote>
I wonder if this is related to <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797">https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797</a>?&nbsp;&nbsp;
I'm not sure what changed in the platform that made the problem
manifest itself, but from the Javadoc, it was clear we should never
have been calling dispose explicitly.<br>
<blockquote cite="mid:487BC316.4030104@matrox.com" type="cite"><br>
Exploring things more in depth, it's the call to super.dispose() that
causes the problem and if I comment out the line as follows, <br>
<br>
<font face="Courier New" size="-1">&nbsp;&nbsp;&nbsp; public void dispose() {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getSite().getPage().removePartListener(partListener);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; adapterFactory.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (getActionBarContributor().getActiveEditor() == this) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getActionBarContributor().setActiveEditor(null);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (propertySheetPage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; propertySheetPage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (contentOutlinePage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; contentOutlinePage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //super.dispose(); NO LONGER CALLING super.dispose()<br>
&nbsp;&nbsp;&nbsp; }</font><br>
<br>
there is no exception. Below you can find the complete stack trace for
when the line is not commented. This stack trace is based on my own
editor, based on the above example (the codes are the same).<br>
<br>
What I can see is that Eclipse 3.4 offers a different behavior of how
the editor / or its associated resources are disposed. It's as if, by
calling super.dispose(), we try to dispose something that is already
disposed by the workbench automatically. There are plenty of SWT
exceptions following stating "<font face="Courier New" size="-1">Graphic
is disposed</font>". I confirm that this behavior does not appear in
eclipse 3.3.2. <br>
<br>
To reproduce the problem:<br>
1. build/run your application with Eclipse 3.4.<br>
2. run it<br>
3. go to File-&gt;New and create a project<br>
4. create a new file associated with the "eclipse forms" editor.<br>
5. open the file with the associated "eclipse forms" editor.<br>
6. right click on the file and choose "X delete"<br>
7. problem might not appear the first time so repeat the steps 4,5,6
once more.<br>
8. after the second delete, a popup wants to appear, but can't as the
entire workbench is corrupt. <br>
9. playing with the application menus or resizing it, we have the
interesting result shown in the screen shot<br>
<br>
<img src="cid:part1.05030005.03030607@matrox.com" alt=""><br>
<br>
So far, commenting the call to super.dispose() is the only solution
that fixes the problem. <br>
My editor plug-in is loaded as "singleton" (singleton=true in
manifest.mf)<br>
<br>
Do you have the same behavior on your side, and if so, what is your
best solution to fix it? Would you have a patch to post in bug <a
moz-do-not-send="true"
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470">108470</a>?<br>
<br>
Thanks, <br>
<br>
Mircea<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
============================================================ =================================== <br>
<br>
<br>
<br>
<font face="Courier New" size="-1">!ENTRY org.eclipse.jface 4 0
2008-07-14 13:46:16.013<br>
!MESSAGE Unhandled event loop exception during blocked modal context.<br>
!STACK 0<br>
org.eclipse.swt.SWTException: Failed to execute runnable
(java.lang.NullPointerException)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3777)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3695)<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3823) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 ) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.jface.window.Window.open(Window.java:801)<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.commands.Command.executeWithChecks(Command. java:476) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3823) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98) <br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)<br >
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.PlatformUI.createAndRunWorkbe
Re: "Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed [message #420883 is a reply to message #420880] Tue, 15 July 2008 15:01 Go to previous messageGo to next message
Mircea Luchian is currently offline Mircea LuchianFriend
Messages: 89
Registered: July 2009
Member
So I looked at the bug referred by Ed and when the editor is closed,
there is no reference to the dispose() method defined within. In our
case, we do call dispose () but we comment out the reference to
super.dispose() within the definition of dispose() and it does the trick.

Mircea Luchian wrote:
> Thanks Steve,
>
> I will try to see the solution to the bug pointed by Ed.
> Is there a plan to push the "gfe" example into the EMF code generation
> plugin?
>
> Mircea
>
>
> Steve Blass wrote:
>> Mircea,
>>
>> Thanks for pointing out that the example editor I posted suffered
>> from that dispose problem. I put a note based on your post in bug
>> 108470. I'm not sure what approach to take going forward - patch and
>> repost the gfe example or put forward one or another of a couple more
>> 'reusable' ideas. I suppose the bug is the place to ask but one idea
>> I have that I know can work is an editor extension point that can be
>> used to add pages with or without forms to generated editors.
>>
>> -
>> Steve
>>
>>
>>
>> Ed Merks wrote:
>>> Mircea,
>>>
>>> Comments below.
>>>
>>>
>>> Mircea Luchian wrote:
>>>> Hello Steve,
>>>>
>>>> Since I started using Eclipse 3.4, I have a problem with any
>>>> "eclipse forms" based editor when I try to delete its resource
>>>> while its associated editor is open.
>>>> Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
>>>> 3.4.
>>>>
>>>> Taking your "gfe" example found on
>>>> http://www.conceptualprocessengineering.com/library (or any of my
>>>> other eclipse forms based editors that have the same code as your
>>>> example), I noticed that the line 936 "gfEditor.this.dispose()"
>>>> causes a null pointer exception to appear in the dispose function
>>>> defined at line 231 in class gfEditor.java. The context, in which
>>>> this dispose function is called, is defined in the
>>>> "resourceChangeListener" variable on line 885.
>>> I wonder if this is related to
>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797? I'm not sure
>>> what changed in the platform that made the problem manifest itself,
>>> but from the Javadoc, it was clear we should never have been calling
>>> dispose explicitly.
>>>>
>>>> Exploring things more in depth, it's the call to super.dispose()
>>>> that causes the problem and if I comment out the line as follows,
>>>>
>>>> public void dispose() {
>>>>
>>>> ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener);
>>>>
>>>> getSite().getPage().removePartListener(partListener);
>>>> adapterFactory.dispose();
>>>> if (getActionBarContributor().getActiveEditor() == this) {
>>>> getActionBarContributor().setActiveEditor(null);
>>>> }
>>>> if (propertySheetPage != null) {
>>>> propertySheetPage.dispose();
>>>> }
>>>> if (contentOutlinePage != null) {
>>>> contentOutlinePage.dispose();
>>>> }
>>>> //super.dispose(); NO LONGER CALLING super.dispose()
>>>> }
>>>>
>>>> there is no exception. Below you can find the complete stack trace
>>>> for when the line is not commented. This stack trace is based on my
>>>> own editor, based on the above example (the codes are the same).
>>>>
>>>> What I can see is that Eclipse 3.4 offers a different behavior of
>>>> how the editor / or its associated resources are disposed. It's as
>>>> if, by calling super.dispose(), we try to dispose something that is
>>>> already disposed by the workbench automatically. There are plenty
>>>> of SWT exceptions following stating "Graphic is disposed". I
>>>> confirm that this behavior does not appear in eclipse 3.3.2.
>>>>
>>>> To reproduce the problem:
>>>> 1. build/run your application with Eclipse 3.4.
>>>> 2. run it
>>>> 3. go to File->New and create a project
>>>> 4. create a new file associated with the "eclipse forms" editor.
>>>> 5. open the file with the associated "eclipse forms" editor.
>>>> 6. right click on the file and choose "X delete"
>>>> 7. problem might not appear the first time so repeat the steps
>>>> 4,5,6 once more.
>>>> 8. after the second delete, a popup wants to appear, but can't as
>>>> the entire workbench is corrupt.
>>>> 9. playing with the application menus or resizing it, we have the
>>>> interesting result shown in the screen shot
>>>>
>>>>
>>>>
>>>> So far, commenting the call to super.dispose() is the only solution
>>>> that fixes the problem.
>>>> My editor plug-in is loaded as "singleton" (singleton=true in
>>>> manifest.mf)
>>>>
>>>> Do you have the same behavior on your side, and if so, what is your
>>>> best solution to fix it? Would you have a patch to post in bug
>>>> 108470 <https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470>?
>>>>
>>>> Thanks,
>>>>
>>>> Mircea
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ============================================================ ===================================
>>>>
>>>>
>>>>
>>>>
>>>> !ENTRY org.eclipse.jface 4 0 2008-07-14 13:46:16.013
>>>> !MESSAGE Unhandled event loop exception during blocked modal context.
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Failed to execute runnable
>>>> (java.lang.NullPointerException)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at
>>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>>>>
>>>> at
>>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>>>> at
>>>> org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172)
>>>>
>>>> at
>>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370)
>>>> at
>>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317)
>>>>
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558)
>>>>
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154)
>>>>
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147)
>>>>
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622)
>>>>
>>>> at
>>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446)
>>>>
>>>> at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72)
>>>> at
>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>>>> at
>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>>>>
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>>>>
>>>> at
>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>>>>
>>>> at
>>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>>
>>>> at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>>> at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>>>>
>>>> at
>>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>>>>
>>>> at
>>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>>
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at
>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>> Caused by: java.lang.NullPointerException
>>>> at
>>>> org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413)
>>>> at
>>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604)
>>>>
>>>> at
>>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377)
>>>>
>>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>>> at
>>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>>>>
>>>> ... 59 more
>>>>
>>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044
>>>> !MESSAGE Unhandled event loop exception
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Graphic is disposed
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>>>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>>>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>>>>
>>>> at
>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>>>>
>>>> at
>>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>>
>>>> at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>>> at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>>>>
>>>> at
>>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>>>>
>>>> at
>>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>>
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at
>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:17.576
>>>> !MESSAGE Unhandled event loop exception
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Graphic is disposed
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>>>> at org.eclipse.swt.widgets.Tree.WM_RBUTTONDOWN(Tree.java:6711)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3852 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:23 70)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3420)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at
>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> !ENTRY org.eclipse.jface 4 2 2008-07-14 13:46:25.669
>>>> !MESSAGE Problems occurred when invoking code from plug-in:
>>>> "org.eclipse.jface".
>>>> !STACK 0
>>>> java.lang.IllegalArgumentException: Argument not valid
>>>> at org.eclipse.swt.SWT.error(SWT.java:3761)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
>>>> at org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1658 )
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewerRow.setImage(TreeViewerR ow.java:166)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.jav a:170)
>>>> at
>>>> org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider. update(DelegatingStyledCellLabelProvider.java:118)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider. update(DecoratingStyledCellLabelProvider.java:134)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn. java:145)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:932)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeR unnable.run(AbstractTreeViewer.java:102)
>>>>
>>>> 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:17 5)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:1012)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRun nable.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:17 5)
>>>> at
>>>> org.eclipse.jface.viewers.StructuredViewer.updateItem(Struct uredViewer.java:2041)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:827)
>>>>
>>>> at
>>>> org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonV iewer.java:150)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElem ents(AbstractTreeViewer.java:359)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(Abs tractTreeViewer.java:270)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer. java:652)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTre eViewer.java:144)
>>>>
>>>> at
>>>> org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java: 247)
>>>> at
>>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider$2.run(ResourceExtensionContentPro vider.java:256)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.runUpdates(ResourceExtensionConte ntProvider.java:295)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.processDelta(ResourceExtensionCon tentProvider.java:105)
>>>>
>>>> at
>>>> org.eclipse.ui.model.WorkbenchContentProvider.resourceChange d(WorkbenchContentProvider.java:106)
>>>>
>>>> at
>>>> org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
>>>>
>>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>>>> at
>>>> org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
>>>>
>>>> at
>>>> org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
>>>>
>>>> at
>>>> org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
>>>>
>>>> at
>>>> org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
>>>>
>>>> at
>>>> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1809)
>>>> at
>>>> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:116)
>>>>
>>>> at
>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:446)
>>>>
>>>> at
>>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:354)
>>>> at
>>>> org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 934)
>>>> at
>>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard.performFinish(RegisterfileModelWizard.java:236)
>>>>
>>>> at
>>>> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:742)
>>>>
>>>> at
>>>> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
>>>>
>>>> at
>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>>>> at
>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>>>>
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>>> at
>>>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>>
>>>> at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>>> at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>>
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at
>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> !ENTRY org.eclipse.ui.workbench 4 0 2008-07-14 13:46:26.029
>>>> !MESSAGE Graphic is disposed
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Graphic is disposed
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>>>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>>>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>>> at
>>>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>>
>>>> at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>>> at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>>
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>>
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at
>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:26.060
>>>> !MESSAGE Unhandled event loop exception
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Failed to execute runnable
>>>> (org.eclipse.swt.SWTException: Graphic is disposed)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at
>>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>>>>
>>>> at
>>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at
>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>> Caused by: org.eclipse.swt.SWTException: Graphic is disposed
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>>>> at org.eclipse.swt.widgets.Tree.setSelection(Tree.java:4907)
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:347)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2470)
>>>>
>>>> at
>>>> org.eclipse.ui.navigator.CommonViewer.setSelectionToWidget(C ommonViewer.java:356)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.StructuredViewer.setSelectionToWid get(StructuredViewer.java:1680)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2864)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.StructuredViewer.setSelection(Stru cturedViewer.java:1636)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:1104)
>>>>
>>>> at
>>>> org.eclipse.ui.navigator.CommonViewer.setSelection(CommonVie wer.java:327)
>>>>
>>>> at
>>>> org.eclipse.ui.navigator.CommonNavigator.selectReveal(Common Navigator.java:314)
>>>>
>>>> at
>>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard$2.run(RegisterfileModelWizard.java:250)
>>>>
>>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>>> at
>>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>>>>
>>>> ... 23 more
>
Re: "Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed [message #420888 is a reply to message #420881] Tue, 15 July 2008 17:45 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33142
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------070204060809030600030702
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Mircea,

Depending on how things go for the next release, support for forms, data
binding, and transactions would all be very nice things to be able to
address. I can't promise much now given that my career direction is in
a state of transition:
< http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html>


http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html

Rest assured I intend to remain intimately involved and hope, along with
the growing community, to be able to accomplish more than ever before.


Mircea Luchian wrote:
> Hello Ed,
>
> Looking at bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797,
> the end result is similar (same types of exception and corruption). To
> reproduce the problem, what I do is delete (and not re-factor) the
> files that are opened by EMF based editors.
>
> Is there a plan to put the "eclipse forms" based editor into the EMF
> code generation plugin?
>
> Mircea
>
> Ed Merks wrote:
>> Mircea,
>>
>> Comments below.
>>
>>
>> Mircea Luchian wrote:
>>> Hello Steve,
>>>
>>> Since I started using Eclipse 3.4, I have a problem with any
>>> "eclipse forms" based editor when I try to delete its resource while
>>> its associated editor is open.
>>> Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
>>> 3.4.
>>>
>>> Taking your "gfe" example found on
>>> http://www.conceptualprocessengineering.com/library (or any of my
>>> other eclipse forms based editors that have the same code as your
>>> example), I noticed that the line 936 "gfEditor.this.dispose()"
>>> causes a null pointer exception to appear in the dispose function
>>> defined at line 231 in class gfEditor.java. The context, in which
>>> this dispose function is called, is defined in the
>>> "resourceChangeListener" variable on line 885.
>> I wonder if this is related to
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797? I'm not sure
>> what changed in the platform that made the problem manifest itself,
>> but from the Javadoc, it was clear we should never have been calling
>> dispose explicitly.
>>>
>>> Exploring things more in depth, it's the call to super.dispose()
>>> that causes the problem and if I comment out the line as follows,
>>>
>>> public void dispose() {
>>>
>>> ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener);
>>> getSite().getPage().removePartListener(partListener);
>>> adapterFactory.dispose();
>>> if (getActionBarContributor().getActiveEditor() == this) {
>>> getActionBarContributor().setActiveEditor(null);
>>> }
>>> if (propertySheetPage != null) {
>>> propertySheetPage.dispose();
>>> }
>>> if (contentOutlinePage != null) {
>>> contentOutlinePage.dispose();
>>> }
>>> //super.dispose(); NO LONGER CALLING super.dispose()
>>> }
>>>
>>> there is no exception. Below you can find the complete stack trace
>>> for when the line is not commented. This stack trace is based on my
>>> own editor, based on the above example (the codes are the same).
>>>
>>> What I can see is that Eclipse 3.4 offers a different behavior of
>>> how the editor / or its associated resources are disposed. It's as
>>> if, by calling super.dispose(), we try to dispose something that is
>>> already disposed by the workbench automatically. There are plenty of
>>> SWT exceptions following stating "Graphic is disposed". I confirm
>>> that this behavior does not appear in eclipse 3.3.2.
>>>
>>> To reproduce the problem:
>>> 1. build/run your application with Eclipse 3.4.
>>> 2. run it
>>> 3. go to File->New and create a project
>>> 4. create a new file associated with the "eclipse forms" editor.
>>> 5. open the file with the associated "eclipse forms" editor.
>>> 6. right click on the file and choose "X delete"
>>> 7. problem might not appear the first time so repeat the steps 4,5,6
>>> once more.
>>> 8. after the second delete, a popup wants to appear, but can't as
>>> the entire workbench is corrupt.
>>> 9. playing with the application menus or resizing it, we have the
>>> interesting result shown in the screen shot
>>>
>>>
>>>
>>> So far, commenting the call to super.dispose() is the only solution
>>> that fixes the problem.
>>> My editor plug-in is loaded as "singleton" (singleton=true in
>>> manifest.mf)
>>>
>>> Do you have the same behavior on your side, and if so, what is your
>>> best solution to fix it? Would you have a patch to post in bug
>>> 108470 <https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470>?
>>>
>>> Thanks,
>>>
>>> Mircea
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ============================================================ ===================================
>>>
>>>
>>>
>>> !ENTRY org.eclipse.jface 4 0 2008-07-14 13:46:16.013
>>> !MESSAGE Unhandled event loop exception during blocked modal context.
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Failed to execute runnable
>>> (java.lang.NullPointerException)
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>>> at
>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>>> at
>>> org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172)
>>> at
>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558)
>>> at
>>> org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154)
>>> at
>>> org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446)
>>> at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72)
>>> at
>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>>> at
>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>>> at
>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>> at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>>> at
>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>>> at
>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>> Caused by: java.lang.NullPointerException
>>> at
>>> org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413)
>>> at
>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604)
>>> at
>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377)
>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>>> ... 59 more
>>>
>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044
>>> !MESSAGE Unhandled event loop exception
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Graphic is disposed
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>>> at
>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>> at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>>> at
>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>>> at
>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>
>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:17.576
>>> !MESSAGE Unhandled event loop exception
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Graphic is disposed
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>>> at org.eclipse.swt.widgets.Tree.WM_RBUTTONDOWN(Tree.java:6711)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3852 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:23 70)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3420)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>
>>> !ENTRY org.eclipse.jface 4 2 2008-07-14 13:46:25.669
>>> !MESSAGE Problems occurred when invoking code from plug-in:
>>> "org.eclipse.jface".
>>> !STACK 0
>>> java.lang.IllegalArgumentException: Argument not valid
>>> at org.eclipse.swt.SWT.error(SWT.java:3761)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
>>> at org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1658 )
>>> at
>>> org.eclipse.jface.viewers.TreeViewerRow.setImage(TreeViewerR ow.java:166)
>>> at
>>> org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.jav a:170)
>>> at
>>> org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider. update(DelegatingStyledCellLabelProvider.java:118)
>>> at
>>> org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider. update(DecoratingStyledCellLabelProvider.java:134)
>>> at
>>> org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn. java:145)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:932)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeR unnable.run(AbstractTreeViewer.java:102)
>>> 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:17 5)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:1012)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRun nable.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:17 5)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.updateItem(Struct uredViewer.java:2041)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:827)
>>> at
>>> org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonV iewer.java:150)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElem ents(AbstractTreeViewer.java:359)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(Abs tractTreeViewer.java:270)
>>> at
>>> org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer. java:652)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTre eViewer.java:144)
>>> at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java: 247)
>>> at
>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider$2.run(ResourceExtensionContentPro vider.java:256)
>>> at
>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.runUpdates(ResourceExtensionConte ntProvider.java:295)
>>> at
>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.processDelta(ResourceExtensionCon tentProvider.java:105)
>>> at
>>> org.eclipse.ui.model.WorkbenchContentProvider.resourceChange d(WorkbenchContentProvider.java:106)
>>> at
>>> org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>>> at
>>> org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
>>> at
>>> org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
>>> at
>>> org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
>>> at
>>> org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
>>> at
>>> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1809)
>>> at
>>> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:116)
>>> at
>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:446)
>>> at
>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:354)
>>> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 934)
>>> at
>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard.performFinish(RegisterfileModelWizard.java:236)
>>> at
>>> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:742)
>>> at
>>> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
>>> at
>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>>> at
>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>> at
>>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>>> at
>>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>> at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>>> at
>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>>> at
>>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>
>>> !ENTRY org.eclipse.ui.workbench 4 0 2008-07-14 13:46:26.029
>>> !MESSAGE Graphic is disposed
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Graphic is disposed
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>> at
>>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>>> at
>>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>> at
>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>>> at
>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>>> at
>>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>
>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:26.060
>>> !MESSAGE Unhandled event loop exception
>>> !STACK 0
>>> org.eclipse.swt.SWTException: Failed to execute runnable
>>> (org.eclipse.swt.SWTException: Graphic is disposed)
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>>> at
>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>>> at
>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>>> at
>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>> at
>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>> Caused by: org.eclipse.swt.SWTException: Graphic is disposed
>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>>> at org.eclipse.swt.widgets.Tree.setSelection(Tree.java:4907)
>>> at
>>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:347)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2470)
>>> at
>>> org.eclipse.ui.navigator.CommonViewer.setSelectionToWidget(C ommonViewer.java:356)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.setSelectionToWid get(StructuredViewer.java:1680)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2864)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.setSelection(Stru cturedViewer.java:1636)
>>> at
>>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:1104)
>>> at
>>> org.eclipse.ui.navigator.CommonViewer.setSelection(CommonVie wer.java:327)
>>> at
>>> org.eclipse.ui.navigator.CommonNavigator.selectReveal(Common Navigator.java:314)
>>> at
>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard$2.run(RegisterfileModelWizard.java:250)
>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>>> ... 23 more
>

--------------070204060809030600030702
Content-Type: multipart/related;
boundary="------------010102090000060904010202"


--------------010102090000060904010202
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Mircea,<br>
<br>
Depending on how things go for the next release, support for forms,
data binding, and transactions would all be very nice things to be able
to address.&nbsp; I can't promise much now given that my career direction is
in a state of transition:<a
href=" http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html"><br>
</a>
<blockquote><a
href=" http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html"> http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html</a><br>
</blockquote>
Rest assured I intend to remain intimately involved and hope, along
with the growing community, to be able to accomplish more than ever
before. <br>
<br>
<br>
Mircea Luchian wrote:
<blockquote cite="mid:g5ibb8$vn4$1@build.eclipse.org" type="cite">
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
Hello Ed, <br>
<br>
Looking at bug <a moz-do-not-send="true"
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797">https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797</a>,
the end result is similar (same types of exception and corruption). To
reproduce the problem, what I do is delete (and not re-factor) the
files that are opened by EMF based editors. <br>
<br>
Is there a plan to put the "eclipse forms" based editor into the EMF
code generation plugin? <br>
<br>
Mircea<br>
<br>
Ed Merks wrote:
<blockquote cite="midg5ghtc$og6$1@build.eclipse.org" type="cite">
<meta content="text/html;charset=ISO-8859-1"
http-equiv="Content-Type">
Mircea,<br>
<br>
Comments below.<br>
<br>
<br>
Mircea Luchian wrote:
<blockquote cite="mid:487BC316.4030104@matrox.com" type="cite">
<meta content="text/html;charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
Hello Steve, <br>
<br>
Since I started using Eclipse 3.4, I have a problem with any "eclipse
forms" based editor when I try to delete its resource while its
associated editor is open. <br>
Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
3.4. <br>
<br>
Taking your "gfe" example found on <a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://www.conceptualprocessengineering.com/library">http://www.conceptualprocessengineering.com/library</a>
(or any of my other
eclipse forms based editors that have the same code as your example), I
noticed that the line 936 "gfEditor.this.dispose()" causes a null
pointer exception to appear in the dispose function defined at line 231
in class gfEditor.java. The context, in which this dispose function is
called, is defined in the "resourceChangeListener" variable on line 885.<br>
</blockquote>
I wonder if this is related to <a moz-do-not-send="true"
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797">https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797</a>?&nbsp;&nbsp;
I'm not sure what changed in the platform that made the problem
manifest itself, but from the Javadoc, it was clear we should never
have been calling dispose explicitly.<br>
<blockquote cite="mid:487BC316.4030104@matrox.com" type="cite"><br>
Exploring things more in depth, it's the call to super.dispose() that
causes the problem and if I comment out the line as follows, <br>
<br>
<font face="Courier New" size="-1">&nbsp;&nbsp;&nbsp; public void dispose() {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getSite().getPage().removePartListener(partListener);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; adapterFactory.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (getActionBarContributor().getActiveEditor() == this) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getActionBarContributor().setActiveEditor(null);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (propertySheetPage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; propertySheetPage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (contentOutlinePage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; contentOutlinePage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //super.dispose(); NO LONGER CALLING super.dispose()<br>
&nbsp;&nbsp;&nbsp; }</font><br>
<br>
there is no exception. Below you can find the complete stack trace for
when the line is not commented. This stack trace is based on my own
editor, based on the above example (the codes are the same).<br>
<br>
What I can see is that Eclipse 3.4 offers a different behavior of how
the editor / or its associated resources are disposed. It's as if, by
calling super.dispose(), we try to dispose something that is already
disposed by the workbench automatically. There are plenty of SWT
exceptions following stating "<font face="Courier New" size="-1">Graphic
is disposed</font>". I confirm that this behavior does not appear in
eclipse 3.3.2. <br>
<br>
To reproduce the problem:<br>
1. build/run your application with Eclipse 3.4.<br>
2. run it<br>
3. go to File-&gt;New and create a project<br>
4. create a new file associated with the "eclipse forms" editor.<br>
5. open the file with the associated "eclipse forms" editor.<br>
6. right click on the file and choose "X delete"<br>
7. problem might not appear the first time so repeat the steps 4,5,6
once more.<br>
8. after the second delete, a popup wants to appear, but can't as the
entire workbench is corrupt. <br>
9. playing with the application menus or resizing it, we have the
interesting result shown in the screen shot<br>
<br>
<img src="cid:part1.01090505.00050108@gmail.com" alt=""><br>
<br>
So far, commenting the call to super.dispose() is the only solution
that fixes the problem. <br>
My editor plug-in is loaded as "singleton" (singleton=true in
manifest.mf)<br>
<br>
Do you have the same behavior on your side, and if so, what is your
best solution to fix it? Would you have a patch to post in bug <a
moz-do-not-send="true"
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470">108470</a>?<br>
<br>
Thanks, <br>
<br>
Mircea<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
============================================================ =================================== <br>
<br>
<br>
<br>
<font face="Courier New" size="-1">!ENTRY org.eclipse.jface 4 0
2008-07-14 13:46:16.013<br>
!MESSAGE Unhandled event loop exception during blocked modal context.<br>
!STACK 0<br>
org.eclipse.swt.SWTException: Failed to execute runnable
(java.lang.NullPointerException)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3777)<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.SWT.error(SWT.java:3695)<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425) <br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172) <br>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: "Eclipse forms" editor in Eclipse 3.4: disposing the editor when a resource is changed [message #420890 is a reply to message #420888] Tue, 15 July 2008 19:47 Go to previous message
Mircea Luchian is currently offline Mircea LuchianFriend
Messages: 89
Registered: July 2009
Member
This is a multi-part message in MIME format.
--------------010406090400040308030808
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hello Ed,

I wish you good luck with the new path you chose. Your help here is very
appreciated and will be glad to see you around here for more time to come.

Mircea

Ed Merks wrote:
> Mircea,
>
> Depending on how things go for the next release, support for forms,
> data binding, and transactions would all be very nice things to be
> able to address. I can't promise much now given that my career
> direction is in a state of transition:
> < http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html>
>
>
> http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html
>
> Rest assured I intend to remain intimately involved and hope, along
> with the growing community, to be able to accomplish more than ever
> before.
>
>
> Mircea Luchian wrote:
>> Hello Ed,
>>
>> Looking at bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797,
>> the end result is similar (same types of exception and corruption).
>> To reproduce the problem, what I do is delete (and not re-factor) the
>> files that are opened by EMF based editors.
>>
>> Is there a plan to put the "eclipse forms" based editor into the EMF
>> code generation plugin?
>>
>> Mircea
>>
>> Ed Merks wrote:
>>> Mircea,
>>>
>>> Comments below.
>>>
>>>
>>> Mircea Luchian wrote:
>>>> Hello Steve,
>>>>
>>>> Since I started using Eclipse 3.4, I have a problem with any
>>>> "eclipse forms" based editor when I try to delete its resource
>>>> while its associated editor is open.
>>>> Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
>>>> 3.4.
>>>>
>>>> Taking your "gfe" example found on
>>>> http://www.conceptualprocessengineering.com/library (or any of my
>>>> other eclipse forms based editors that have the same code as your
>>>> example), I noticed that the line 936 "gfEditor.this.dispose()"
>>>> causes a null pointer exception to appear in the dispose function
>>>> defined at line 231 in class gfEditor.java. The context, in which
>>>> this dispose function is called, is defined in the
>>>> "resourceChangeListener" variable on line 885.
>>> I wonder if this is related to
>>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797? I'm not sure
>>> what changed in the platform that made the problem manifest itself,
>>> but from the Javadoc, it was clear we should never have been calling
>>> dispose explicitly.
>>>>
>>>> Exploring things more in depth, it's the call to super.dispose()
>>>> that causes the problem and if I comment out the line as follows,
>>>>
>>>> public void dispose() {
>>>>
>>>> ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener);
>>>> getSite().getPage().removePartListener(partListener);
>>>> adapterFactory.dispose();
>>>> if (getActionBarContributor().getActiveEditor() == this) {
>>>> getActionBarContributor().setActiveEditor(null);
>>>> }
>>>> if (propertySheetPage != null) {
>>>> propertySheetPage.dispose();
>>>> }
>>>> if (contentOutlinePage != null) {
>>>> contentOutlinePage.dispose();
>>>> }
>>>> //super.dispose(); NO LONGER CALLING super.dispose()
>>>> }
>>>>
>>>> there is no exception. Below you can find the complete stack trace
>>>> for when the line is not commented. This stack trace is based on my
>>>> own editor, based on the above example (the codes are the same).
>>>>
>>>> What I can see is that Eclipse 3.4 offers a different behavior of
>>>> how the editor / or its associated resources are disposed. It's as
>>>> if, by calling super.dispose(), we try to dispose something that is
>>>> already disposed by the workbench automatically. There are plenty
>>>> of SWT exceptions following stating "Graphic is disposed". I
>>>> confirm that this behavior does not appear in eclipse 3.3.2.
>>>>
>>>> To reproduce the problem:
>>>> 1. build/run your application with Eclipse 3.4.
>>>> 2. run it
>>>> 3. go to File->New and create a project
>>>> 4. create a new file associated with the "eclipse forms" editor.
>>>> 5. open the file with the associated "eclipse forms" editor.
>>>> 6. right click on the file and choose "X delete"
>>>> 7. problem might not appear the first time so repeat the steps
>>>> 4,5,6 once more.
>>>> 8. after the second delete, a popup wants to appear, but can't as
>>>> the entire workbench is corrupt.
>>>> 9. playing with the application menus or resizing it, we have the
>>>> interesting result shown in the screen shot
>>>>
>>>>
>>>>
>>>> So far, commenting the call to super.dispose() is the only solution
>>>> that fixes the problem.
>>>> My editor plug-in is loaded as "singleton" (singleton=true in
>>>> manifest.mf)
>>>>
>>>> Do you have the same behavior on your side, and if so, what is your
>>>> best solution to fix it? Would you have a patch to post in bug
>>>> 108470 <https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470>?
>>>>
>>>> Thanks,
>>>>
>>>> Mircea
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ============================================================ ===================================
>>>>
>>>>
>>>>
>>>> !ENTRY org.eclipse.jface 4 0 2008-07-14 13:46:16.013
>>>> !MESSAGE Unhandled event loop exception during blocked modal context.
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Failed to execute runnable
>>>> (java.lang.NullPointerException)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at
>>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>>>> at
>>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>>>> at
>>>> org.eclipse.jface.operation.ModalContext$ModalContextThread. block(ModalContext.java:172)
>>>> at
>>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:370)
>>>> at
>>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.run(RefactoringWizardDialog2.java:317)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPer formFinish(RefactoringWizard.java:558)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFi nish(UserInputWizardPage.java:154)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizar d$DeleteResourcesRefactoringConfigurationPage.performFinish( DeleteResourcesWizard.java:147)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFini sh(RefactoringWizard.java:622)
>>>> at
>>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDia log2.okPressed(RefactoringWizardDialog2.java:446)
>>>> at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:4 72)
>>>> at
>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>>>> at
>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>>>> at
>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>>>> at
>>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>> at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>>> at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>>>> at
>>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>>>> at
>>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>>>> at
>>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>>>> at
>>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>> Caused by: java.lang.NullPointerException
>>>> at
>>>> org.eclipse.ui.forms.editor.FormEditor.dispose(FormEditor.ja va:413)
>>>> at
>>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor.dispose(RegisterfileEditor.java:1604)
>>>> at
>>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile Editor$2$1.run(RegisterfileEditor.java:377)
>>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>>> at
>>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>>>> ... 59 more
>>>>
>>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:16.044
>>>> !MESSAGE Unhandled event loop exception
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Graphic is disposed
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>>>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>>>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n$1.run(RefactoringWizardOpenOperation.java:144)
>>>> at
>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>> at
>>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperatio n.run(RefactoringWizardOpenOperation.java:156)
>>>> at
>>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResour cesHandler.execute(DeleteResourcesHandler.java:41)
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>> at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>>> at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma ndInContext(HandlerService.java:270)
>>>> at
>>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(L TKLauncher.java:95)
>>>> at
>>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWi zard(LTKLauncher.java:47)
>>>> at
>>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResour ceAction.java:480)
>>>> at
>>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEv ent(BaseSelectionListenerAction.java:168)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:17.576
>>>> !MESSAGE Unhandled event loop exception
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Graphic is disposed
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>>>> at org.eclipse.swt.widgets.Tree.WM_RBUTTONDOWN(Tree.java:6711)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3852 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:23 70)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3420)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> !ENTRY org.eclipse.jface 4 2 2008-07-14 13:46:25.669
>>>> !MESSAGE Problems occurred when invoking code from plug-in:
>>>> "org.eclipse.jface".
>>>> !STACK 0
>>>> java.lang.IllegalArgumentException: Argument not valid
>>>> at org.eclipse.swt.SWT.error(SWT.java:3761)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
>>>> at org.eclipse.swt.widgets.TreeItem.setImage(TreeItem.java:1658 )
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewerRow.setImage(TreeViewerR ow.java:166)
>>>> at
>>>> org.eclipse.jface.viewers.ViewerCell.setImage(ViewerCell.jav a:170)
>>>> at
>>>> org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider. update(DelegatingStyledCellLabelProvider.java:118)
>>>> at
>>>> org.eclipse.jface.viewers.DecoratingStyledCellLabelProvider. update(DecoratingStyledCellLabelProvider.java:134)
>>>> at
>>>> org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn. java:145)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:932)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeR unnable.run(AbstractTreeViewer.java:102)
>>>> 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:17 5)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(Ab stractTreeViewer.java:1012)
>>>> at
>>>> org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRun nable.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:17 5)
>>>> at
>>>> org.eclipse.jface.viewers.StructuredViewer.updateItem(Struct uredViewer.java:2041)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:827)
>>>> at
>>>> org.eclipse.ui.navigator.CommonViewer.createTreeItem(CommonV iewer.java:150)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createAddedElem ents(AbstractTreeViewer.java:359)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.internalAdd(Abs tractTreeViewer.java:270)
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.internalAdd(TreeViewer. java:652)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.add(AbstractTre eViewer.java:144)
>>>> at org.eclipse.ui.navigator.CommonViewer.add(CommonViewer.java: 247)
>>>> at
>>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider$2.run(ResourceExtensionContentPro vider.java:256)
>>>> at
>>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.runUpdates(ResourceExtensionConte ntProvider.java:295)
>>>> at
>>>> org.eclipse.ui.internal.navigator.resources.workbench.Resour ceExtensionContentProvider.processDelta(ResourceExtensionCon tentProvider.java:105)
>>>> at
>>>> org.eclipse.ui.model.WorkbenchContentProvider.resourceChange d(WorkbenchContentProvider.java:106)
>>>> at
>>>> org.eclipse.core.internal.events.NotificationManager$2.run(N otificationManager.java:288)
>>>> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
>>>> at
>>>> org.eclipse.core.internal.events.NotificationManager.notify( NotificationManager.java:282)
>>>> at
>>>> org.eclipse.core.internal.events.NotificationManager.broadca stChanges(NotificationManager.java:148)
>>>> at
>>>> org.eclipse.core.internal.resources.Workspace.broadcastPostC hange(Workspace.java:313)
>>>> at
>>>> org.eclipse.core.internal.resources.Workspace.endOperation(W orkspace.java:1022)
>>>> at
>>>> org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1809)
>>>> at
>>>> org.eclipse.ui.actions.WorkspaceModifyOperation.run(Workspac eModifyOperation.java:116)
>>>> at
>>>> org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:446)
>>>> at
>>>> org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:354)
>>>> at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 934)
>>>> at
>>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard.performFinish(RegisterfileModelWizard.java:236)
>>>> at
>>>> org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:742)
>>>> at
>>>> org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
>>>> at
>>>> org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
>>>> at
>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
>>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>>> at
>>>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>>>> at
>>>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>> at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>>> at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>>>> at
>>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>>>> at
>>>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> !ENTRY org.eclipse.ui.workbench 4 0 2008-07-14 13:46:26.029
>>>> !MESSAGE Graphic is disposed
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Graphic is disposed
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.RedrawWindow(Native Method)
>>>> at org.eclipse.swt.widgets.Control.update(Control.java:3651)
>>>> at org.eclipse.swt.widgets.Display.update(Display.java:4414)
>>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:832 )
>>>> at org.eclipse.jface.window.Window.open(Window.java:801)
>>>> at
>>>> org.eclipse.ui.internal.handlers.WizardHandler$New.executeHa ndler(WizardHandler.java:253)
>>>> at
>>>> org.eclipse.ui.internal.handlers.WizardHandler.execute(Wizar dHandler.java:273)
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:281)
>>>> at
>>>> org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
>>>> at
>>>> org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
>>>> at
>>>> org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
>>>> at
>>>> org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:247)
>>>> at
>>>> org.eclipse.ui.internal.actions.CommandAction.runWithEvent(C ommandAction.java:157)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.handleWidget Selection(ActionContributionItem.java:583)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem.access$2(Act ionContributionItem.java:500)
>>>> at
>>>> org.eclipse.jface.action.ActionContributionItem$5.handleEven t(ActionContributionItem.java:411)
>>>> 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.Display.runDeferredEvents(Display.ja va:3823)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3422)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> !ENTRY org.eclipse.ui 4 0 2008-07-14 13:46:26.060
>>>> !MESSAGE Unhandled event loop exception
>>>> !STACK 0
>>>> org.eclipse.swt.SWTException: Failed to execute runnable
>>>> (org.eclipse.swt.SWTException: Graphic is disposed)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at
>>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:136)
>>>> at
>>>> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:3800)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3425)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at com.matrox.fdk.core.Application.start(Application.java:111)
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:382)
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>> Caused by: org.eclipse.swt.SWTException: Graphic is disposed
>>>> at org.eclipse.swt.SWT.error(SWT.java:3777)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3695)
>>>> at org.eclipse.swt.SWT.error(SWT.java:3666)
>>>> at org.eclipse.swt.graphics.Image.getImageData(Image.java:1193)
>>>> at org.eclipse.swt.internal.ImageList.set(ImageList.java:401)
>>>> at org.eclipse.swt.internal.ImageList.add(ImageList.java:66)
>>>> at org.eclipse.swt.widgets.Tree.imageIndex(Tree.java:3618)
>>>> at org.eclipse.swt.widgets.Tree.wmNotifyChild(Tree.java:7116)
>>>> at org.eclipse.swt.widgets.Control.wmNotify(Control.java:4718)
>>>> at org.eclipse.swt.widgets.Composite.wmNotify(Composite.java:17 56)
>>>> at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:4348)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3841 )
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Tree.WM_PAINT(Tree.java:6770)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:227 3)
>>>> at org.eclipse.swt.widgets.Tree.callWindowProc(Tree.java:1529)
>>>> at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877 )
>>>> at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5791)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528 )
>>>> at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method)
>>>> at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:3011)
>>>> at org.eclipse.swt.widgets.Tree.setSelection(Tree.java:4907)
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:347)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2470)
>>>> at
>>>> org.eclipse.ui.navigator.CommonViewer.setSelectionToWidget(C ommonViewer.java:356)
>>>> at
>>>> org.eclipse.jface.viewers.StructuredViewer.setSelectionToWid get(StructuredViewer.java:1680)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToW idget(AbstractTreeViewer.java:2864)
>>>> at
>>>> org.eclipse.jface.viewers.StructuredViewer.setSelection(Stru cturedViewer.java:1636)
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer .java:1104)
>>>> at
>>>> org.eclipse.ui.navigator.CommonViewer.setSelection(CommonVie wer.java:327)
>>>> at
>>>> org.eclipse.ui.navigator.CommonNavigator.selectReveal(Common Navigator.java:314)
>>>> at
>>>> com.matrox.fdk.editor.registerfile.presentation.Registerfile ModelWizard$2.run(RegisterfileModelWizard.java:250)
>>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
>>>> at
>>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:133)
>>>> ... 23 more
>>


--------------010406090400040308030808
Content-Type: multipart/related;
boundary="------------090501070809010205090400"


--------------090501070809010205090400
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hello Ed, <br>
<br>
I wish you good luck with the new path you chose. Your help here is
very appreciated and will be glad to see you around here for more time
to come. <br>
<br>
Mircea<br>
<br>
Ed Merks wrote:
<blockquote cite="midg5inoj$l7r$1@build.eclipse.org" type="cite">
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
Mircea,<br>
<br>
Depending on how things go for the next release, support for forms,
data binding, and transactions would all be very nice things to be able
to address.&nbsp; I can't promise much now given that my career direction is
in a state of transition:<a
href=" http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html"><br>
</a>
<blockquote><a
href=" http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html"> http://ed-merks.blogspot.com/2008/06/so-long-and-thanks-for- all-open-source.html</a><br>
</blockquote>
Rest assured I intend to remain intimately involved and hope, along
with the growing community, to be able to accomplish more than ever
before. <br>
<br>
<br>
Mircea Luchian wrote:
<blockquote cite="mid:g5ibb8$vn4$1@build.eclipse.org" type="cite">
<meta content="text/html;charset=ISO-8859-1"
http-equiv="Content-Type">
Hello Ed, <br>
<br>
Looking at bug <a moz-do-not-send="true"
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797">https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797</a>,
the end result is similar (same types of exception and corruption). To
reproduce the problem, what I do is delete (and not re-factor) the
files that are opened by EMF based editors. <br>
<br>
Is there a plan to put the "eclipse forms" based editor into the EMF
code generation plugin? <br>
<br>
Mircea<br>
<br>
Ed Merks wrote:
<blockquote cite="midg5ghtc$og6$1@build.eclipse.org" type="cite">
<meta content="text/html;charset=ISO-8859-1"
http-equiv="Content-Type">
Mircea,<br>
<br>
Comments below.<br>
<br>
<br>
Mircea Luchian wrote:
<blockquote cite="mid:487BC316.4030104@matrox.com" type="cite">
<meta content="text/html;charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
Hello Steve, <br>
<br>
Since I started using Eclipse 3.4, I have a problem with any "eclipse
forms" based editor when I try to delete its resource while its
associated editor is open. <br>
Everything worked fine in Eclipse 3.3.2 until I upgraded to Eclipse
3.4. <br>
<br>
Taking your "gfe" example found on <a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://www.conceptualprocessengineering.com/library">http://www.conceptualprocessengineering.com/library</a>
(or any of my other
eclipse forms based editors that have the same code as your example), I
noticed that the line 936 "gfEditor.this.dispose()" causes a null
pointer exception to appear in the dispose function defined at line 231
in class gfEditor.java. The context, in which this dispose function is
called, is defined in the "resourceChangeListener" variable on line 885.<br>
</blockquote>
I wonder if this is related to <a moz-do-not-send="true"
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797">https://bugs.eclipse.org/bugs/show_bug.cgi?id=235797</a>?&nbsp;&nbsp;
I'm not sure what changed in the platform that made the problem
manifest itself, but from the Javadoc, it was clear we should never
have been calling dispose explicitly.<br>
<blockquote cite="mid:487BC316.4030104@matrox.com" type="cite"><br>
Exploring things more in depth, it's the call to super.dispose() that
causes the problem and if I comment out the line as follows, <br>
<br>
<font face="Courier New" size="-1">&nbsp;&nbsp;&nbsp; public void dispose() {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
ResourcesPlugin.getWorkspace().removeResourceChangeListener( resourceChangeListener); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getSite().getPage().removePartListener(partListener);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; adapterFactory.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (getActionBarContributor().getActiveEditor() == this) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; getActionBarContributor().setActiveEditor(null);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (propertySheetPage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; propertySheetPage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (contentOutlinePage != null) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; contentOutlinePage.dispose();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //super.dispose(); NO LONGER CALLING super.dispose()<br>
&nbsp;&nbsp;&nbsp; }</font><br>
<br>
there is no exception. Below you can find the complete stack trace for
w
Previous Topic:How to modify entries the PropertySheet?
Next Topic:Copyright generation practices
Goto Forum:
  


Current Time: Sat Apr 27 05:01:57 GMT 2024

Powered by FUDForum. Page generated in 0.04783 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top