Project: SWT
Bug 244108 [WorkbenchLauncher] ArrayIndexOutOfBoundsException in IDEApplication.start() when launching partially branded product
Reported: 2008-08-13 22:26:21 | Status: resolved fixed

Eclipse 3.4 If you create a product that contains a splash screen, but no window images, it will fail with: java.lang.ArrayIndexOutOfBoundsException: 0 at org.eclipse.swt.widgets.Decorations.setImages(Decorations.java:536) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:100) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.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(EclipseStarter.java:382) 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:585) 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) To reproduce: Create a plugin Copy the Eclipse splash.bmp into the plugin Create a feature that contains said plugin In the plugin, create a product configuration. On the Overview page, create a new product and select org.eclipse.ui.ide.workbench as the application Set the configuration to be based on features On the Configuration page, add the feature created above, and org.eclipse.platform Back on the Overview page, click Launch an Eclipse application

Files changed in fix:
bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Decorations.java