Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 370455 - AIOOBE while switching MRU in CTabFolder
Summary: AIOOBE while switching MRU in CTabFolder
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.2   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 4.2   Edit
Assignee: Bogdan Gheorghe CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-02 10:40 EST by Remy Suen CLA
Modified: 2013-08-29 10:15 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Remy Suen CLA 2012-02-02 10:40:27 EST
I switched my theme and got this AIOOBE.

java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
	at org.eclipse.e4.ui.widgets.CTabFolder.setMRUVisible(CTabFolder.java:2886)
	at org.eclipse.e4.ui.css.swt.properties.custom.CSSPropertyMruVisibleSWTHandler.applyCSSProperty(CSSPropertyMruVisibleSWTHandler.java:27)
	at org.eclipse.e4.ui.css.swt.properties.AbstractCSSPropertySWTHandler.applyCSSProperty(AbstractCSSPropertySWTHandler.java:39)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyCSSProperty(AbstractCSSEngine.java:775)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyleDeclaration(AbstractCSSEngine.java:540)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:449)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:397)
	at org.eclipse.e4.ui.css.swt.engine.CSSSWTApplyStylesListener$1.handleEvent(CSSSWTApplyStylesListener.java:31)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4339)
	at org.eclipse.swt.widgets.Display.runSkin(Display.java:4248)
	at org.eclipse.swt.widgets.Composite.computeSize(Composite.java:227)
	at org.eclipse.swt.widgets.Control.computeSize(Control.java:614)
	at org.eclipse.e4.ui.widgets.CTabFolder.computeControlBounds(CTabFolder.java:452)
	at org.eclipse.e4.ui.widgets.CTabFolder.setButtonBounds(CTabFolder.java:2402)
	at org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3614)
	at org.eclipse.e4.ui.widgets.CTabFolder.updateItems(CTabFolder.java:3549)
	at org.eclipse.e4.ui.widgets.CTabFolder.onResize(CTabFolder.java:1947)
	at org.eclipse.e4.ui.widgets.CTabFolder$1.handleEvent(CTabFolder.java:277)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)
	at org.eclipse.e4.ui.widgets.CTabFolder.updateTabHeight(CTabFolder.java:3640)
	at org.eclipse.e4.ui.widgets.CTabFolder.setRenderer(CTabFolder.java:2916)
	at org.eclipse.e4.ui.css.swt.properties.custom.CSSPropertyTabRendererSWTHandler.applyCSSProperty(CSSPropertyTabRendererSWTHandler.java:54)
	at org.eclipse.e4.ui.css.swt.properties.AbstractCSSPropertySWTHandler.applyCSSProperty(AbstractCSSPropertySWTHandler.java:39)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyCSSProperty(AbstractCSSEngine.java:775)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyleDeclaration(AbstractCSSEngine.java:540)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:449)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:397)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:473)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:397)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:473)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:397)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:473)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:397)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:473)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:397)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:473)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:397)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:473)
	at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:397)
	at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.applyStyles(ThemeEngine.java:372)
	at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.setTheme(ThemeEngine.java:345)
	at org.eclipse.ui.internal.dialogs.ViewsPreferencePage$2.selectionChanged(ViewsPreferencePage.java:79)
Comment 1 Remy Suen CLA 2012-02-02 10:46:25 EST
Just run this code and it'll die.

---------------

Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());

CTabFolder folder =  new CTabFolder(shell, SWT.SINGLE); 

folder.setMRUVisible(true);
folder.setMRUVisible(false);
while (!shell.isDisposed()) {
  if (!display.readAndDispatch())
    display.sleep();
}
display.dispose();
Comment 2 Remy Suen CLA 2012-02-03 10:26:26 EST
Please fix this for M6 as anyone that switches their theme before having any editors open will get this exception.
Comment 4 Bogdan Gheorghe CLA 2013-08-29 09:57:27 EDT
Yup, should be fixed. 

Closing - please reopen if you are seeing this.