Community
Participate
Working Groups
When bug 118659 gets fixed, the BreadcrumbViewer can throw an IAE since it tries to create an Image with height == 0. Before, we were just lucky that the default height was 64. Steps: - open A.java - show the breadcrumb - close editor - delete the file - Navigate > Back > A.java !ENTRY org.eclipse.ui 4 0 2010-12-01 15:56:36.539 !MESSAGE Argument not valid !STACK 0 java.lang.IllegalArgumentException: Argument not valid at org.eclipse.swt.SWT.error(SWT.java:4072) at org.eclipse.swt.SWT.error(SWT.java:4006) at org.eclipse.swt.SWT.error(SWT.java:3977) at org.eclipse.swt.graphics.Image.init(Image.java:1572) at org.eclipse.swt.graphics.Image.<init>(Image.java:181) at org.eclipse.jdt.internal.ui.javaeditor.breadcrumb.BreadcrumbViewer.createGradientImage(BreadcrumbViewer.java:745) at org.eclipse.jdt.internal.ui.javaeditor.breadcrumb.BreadcrumbViewer.access$2(BreadcrumbViewer.java:742) at org.eclipse.jdt.internal.ui.javaeditor.breadcrumb.BreadcrumbViewer$2.handleEvent(BreadcrumbViewer.java:116) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1086) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1067) at org.eclipse.swt.widgets.Control.sendResize(Control.java:2659) at org.eclipse.swt.widgets.Composite.sendResize(Composite.java:995) at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1044) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2787) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2783) at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:690) at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:194) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1282) at org.eclipse.swt.widgets.Composite.sendResize(Composite.java:999) at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1044) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2787) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2783) at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:690) at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:194) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1282) at org.eclipse.swt.widgets.Composite.sendResize(Composite.java:999) at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1044) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2787) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2783) at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:690) at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:194) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1282) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1671) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4239) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(OS.java) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2457) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:4975) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4249) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$SetWindowPos(Native Method) at org.eclipse.swt.internal.win32.OS.SetWindowPos(OS.java) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1465) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2826) at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1038) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2787) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2783) at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:201) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1282) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1671) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4239) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(OS.java) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2457) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:4975) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4249) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4904) at org.eclipse.swt.internal.win32.OS.$$YJP$$EndDeferWindowPos(Native Method) at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(OS.java) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:968) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:934) at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:1145) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1675) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4239) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(OS.java) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2457) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:4975) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4249) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$SetWindowPos(Native Method) at org.eclipse.swt.internal.win32.OS.SetWindowPos(OS.java) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1465) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2826) at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1038) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2787) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2783) at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:201) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1282) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1671) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4239) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(OS.java) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2457) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:4975) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4249) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$SetWindowPos(Native Method) at org.eclipse.swt.internal.win32.OS.SetWindowPos(OS.java) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1465) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2826) at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1038) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2787) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2783) at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:201) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1282) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:1671) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4239) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(OS.java) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2457) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:80) at org.eclipse.swt.widgets.Control.WM_WINDOWPOSCHANGED(Control.java:4975) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4249) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4891) at org.eclipse.swt.internal.win32.OS.$$YJP$$SetWindowPos(Native Method) at org.eclipse.swt.internal.win32.OS.SetWindowPos(OS.java) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1465) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2826) at org.eclipse.swt.widgets.Composite.setBounds(Composite.java:1038) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2787) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2783) at org.eclipse.swt.widgets.Control.setBounds(Control.java:2850) at org.eclipse.ui.internal.LayoutPart.setBounds(LayoutPart.java:300) at org.eclipse.ui.internal.presentations.PresentablePart.setBounds(PresentablePart.java:170) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.layoutContent(PresentablePartFolder.java:131) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.layout(PresentablePartFolder.java:412) at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:292) at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198) at org.eclipse.ui.internal.WorkbenchPage.internalBringToTop(WorkbenchPage.java:792) at org.eclipse.ui.internal.WorkbenchPage.internalActivate(WorkbenchPage.java:616) at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage.java:589) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2875) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768) at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760) at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682) at org.eclipse.ui.internal.NavigationHistoryEntry.restoreLocation(NavigationHistoryEntry.java:66) at org.eclipse.ui.internal.NavigationHistory.gotoEntry(NavigationHistory.java:455) at org.eclipse.ui.internal.NavigationHistory.shiftEntry(NavigationHistory.java:520) at org.eclipse.ui.internal.NavigationHistory.backward(NavigationHistory.java:504) at org.eclipse.ui.internal.NavigationHistoryAction.run(NavigationHistoryAction.java:242) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:567) at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:508) at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:123) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1254) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1086) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1071) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1112) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1108) at org.eclipse.swt.widgets.Widget.wmSysKeyDown(Widget.java:2566) at org.eclipse.swt.widgets.Control.WM_SYSKEYDOWN(Control.java:4947) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4243) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4904) at org.eclipse.swt.internal.win32.OS.$$YJP$$DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(OS.java) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2462) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3673) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 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(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Created attachment 184267 [details] Fix
Fixed in HEAD. Pawel, you might want to apply the same fix to the debug BreadcrumbViewer (I didn't check if it's possible to run into the same problem there).
(In reply to comment #2) > Fixed in HEAD. > > Pawel, you might want to apply the same fix to the debug BreadcrumbViewer > (I didn't check if it's possible to run into the same problem there). I've fixed this in HEAD. Available in builds >= N20101201-2000.