Bug 322206 - IllegalStateException from disposing of system color
Summary: IllegalStateException from disposing of system color
Status: RESOLVED FIXED
Alias: None
Product: MAT
Classification: Tools
Component: GUI (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows XP
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 262603
  Show dependency tree
 
Reported: 2010-08-10 04:46 EDT by Andrew Johnson CLA
Modified: 2010-08-12 07:25 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Johnson CLA 2010-08-10 04:46:12 EDT
Running the RAP version of MAT I got the following error:


This is because a system color SWT.COLOR_DARK_GRAY is obtained, but then disposed.

Presumably the fix is simple - don't dispose it.

java.lang.IllegalStateException: A factory-created resource cannot be disposed.
	at org.eclipse.swt.graphics.Resource.dispose(Resource.java:81)
	at org.eclipse.mat.ui.internal.views.NavigatorViewPage.dispose(NavigatorViewPage.java:548)
	at org.eclipse.mat.ui.internal.views.NavigatorView.doDestroyPage(NavigatorView.java:53)
	at org.eclipse.ui.part.PageBookView.removePage(PageBookView.java:844)
	at org.eclipse.ui.part.PageBookView.partClosed(PageBookView.java:774)
	at org.eclipse.ui.internal.PartListenerList$3.run(PartListenerList.java:102)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.runtime.Platform.run(Platform.java:888)
	at org.eclipse.ui.internal.PartListenerList.fireEvent(PartListenerList.java:57)
	at org.eclipse.ui.internal.PartListenerList.firePartClosed(PartListenerList.java:100)
	at org.eclipse.ui.internal.PartService.firePartClosed(PartService.java:188)
	at org.eclipse.ui.internal.WorkbenchPagePartList.firePartClosed(WorkbenchPagePartList.java:38)
	at org.eclipse.ui.internal.PartList.partClosed(PartList.java:255)
	at org.eclipse.ui.internal.PartList.removePart(PartList.java:176)
	at org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java:1585)
	at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1344)
	at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1328)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1302)
	at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1357)
	at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:61)
	at org.eclipse.ui.internal.PartStack.close(PartStack.java:552)
	at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:212)
	at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:121)
	at rg.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEventTabbedStackPresentation.java:82)
	at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:271)
	at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:280)
	at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
	at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$1.closeButtonPressedDefaultTabFolder.java:73)
	at org.eclipse.ui.internal.presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:642)
	at org.eclipse.ui.internal.presentations.PaneFolder$3.close(PaneFolder.java:209)
	at org.eclipse.swt.custom.CTabFolderEvent.dispatchToObserver(CTabFolderEvent.java:97)
	at org.eclipse.rwt.internal.events.Event.processEvent(Event.java:44)
	at org.eclipse.swt.events.TypedEvent.processEvent(TypedEvent.java:161)
	at org.eclipse.swt.internal.custom.ctabitemkit.CTabItemLCA$1.run(CTabItemLCA.java:71)
	at org.eclipse.rwt.lifecycle.ProcessActionRunner.executeNext(ProcessActionRunner.java:57)
	at org.eclipse.swt.widgets.Display.runPendingMessages(Display.java:1098)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1090)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2390)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2351)
	at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2206)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:424)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.jface.internal.databinding.realmadapter.RealmAdapter.run(RealmAdapter.java:44)
	at org.eclipse.rap.ui.internal.RealmAdapterHook.runWithDefault(RealmAdapterHook.java:48)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:427)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
	at org.eclipse.mat.ui.rcp.Application.start(Application.java:26)
	at org.eclipse.rap.ui.internal.application.EntrypointApplicationWrapper.createUI(EntrypointApplicationWrapper.java:27)
	at org.eclipse.rwt.internal.lifecycle.EntryPointManager.createUI(EntryPointManager.java:92)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:245)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:114)
	at java.lang.Thread.run(Thread.java:736)
	at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)
Comment 1 Andrew Johnson CLA 2010-08-12 07:16:41 EDT
Fix applied
Comment 2 Andrew Johnson CLA 2010-08-12 07:25:36 EDT
Fix stops the problem when the navigation pane is closed under RAP.