Bug 184856 - [Contributions] One leaked image each time Package Explorer menu is opened
Summary: [Contributions] One leaked image each time Package Explorer menu is opened
Status: RESOLVED DUPLICATE of bug 188485
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: JDT-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
Depends on: 170647
Blocks:
  Show dependency tree
 
Reported: 2007-05-01 09:54 EDT by John Arthorne CLA
Modified: 2007-06-05 13:34 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description John Arthorne CLA 2007-05-01 09:54:00 EDT
Build: I20070501-0010

Each time the Package Explorer menu is opened, one image is leaked (the drop-down menu in the view toolbar, not the context menu). I'm logging the bug here because the menu contribution item seems to correctly dispose of its image in its dispose() method.

java.lang.Error
	at java.lang.Throwable.<init>(Throwable.java:56)
	at org.eclipse.swt.graphics.Device.new_Object(Device.java:787)
	at org.eclipse.swt.graphics.Image.<init>(Image.java:491)
	at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:289)
	at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:227)
	at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:205)
	at org.eclipse.jdt.internal.ui.workingsets.WorkingSetMenuContributionItem.fill(WorkingSetMenuContributionItem.java:69)
	at org.eclipse.jface.action.MenuManager.update(MenuManager.java:665)
	at org.eclipse.ui.internal.ViewPane$PaneMenuManager.update(ViewPane.java:97)
	at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:395)
	at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:390)
	at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:416)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:962)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:943)
	at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:3973)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:3690)
	at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1584)
	at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1752)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4342)
	at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method)
	at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:227)
	at org.eclipse.swt.widgets.Display.runPopups(Display.java:3699)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3278)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2365)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2329)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2204)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:615)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:480)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:419)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1145)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1120)
Comment 1 Kim Horne CLA 2007-05-01 11:47:48 EDT
Not a UI working set issue - it should either be a menu issue or a JDT issue.
Comment 2 Kim Horne CLA 2007-06-05 12:57:41 EDT
Punting to JDT.  This should've been done long ago.  I apologize.
Comment 3 Martin Aeschlimann CLA 2007-06-05 13:08:20 EDT

*** This bug has been marked as a duplicate of bug 188485 ***
Comment 4 Markus Keller CLA 2007-06-05 13:34:02 EDT
Depends on how you define "leak". In I20070605-0010, the PE retains the image only until the view menu is opened again, and it also disposes it properly when the view is closed. So, there's no accumulation of images, just one that is not disposed at the earliest possible time.

The underlying problem is bug 170647.