Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 343440 - Dragging editor back in the shared area if source stack's tabs are obscured causes AIOOBE
Summary: Dragging editor back in the shared area if source stack's tabs are obscured c...
Status: CLOSED DUPLICATE of bug 343389
Alias: None
Product: e4
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-20 13:35 EDT by Remy Suen CLA
Modified: 2011-04-27 09:56 EDT (History)
1 user (show)

See Also:


Attachments
Screenshot depicting the problem in question. (4.14 KB, image/png)
2011-04-20 13:35 EDT, Remy Suen CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Remy Suen CLA 2011-04-20 13:35:30 EDT
Created attachment 193725 [details]
Screenshot depicting the problem in question.

1. Open an editor.
2. Drag it to the same stack with the 'Package Explorer'.
3. Activate that editor.
4. Resize the stack so that only the editor's tab can be seen (and the tab of the 'Package Explorer' is obscured behind).
5. Now drag the editor back to the shared area. This may take a few tries.
6. An AIOOBE is thrown. The editor is now also taking up a fraction of the spaceb in the shared area (see attached). New editors that are opened do not seem to have this problem though.

java.lang.ArrayIndexOutOfBoundsException: 1
	at org.eclipse.e4.ui.widgets.CTabFolder.computeControlBounds(CTabFolder.java:594)
	at org.eclipse.e4.ui.widgets.CTabFolder.getWrappedHeight(CTabFolder.java:3795)
	at org.eclipse.e4.ui.widgets.CTabFolder.getClientArea(CTabFolder.java:782)
	at org.eclipse.e4.ui.widgets.CTabFolder.setSelection(CTabFolder.java:2876)
	at org.eclipse.e4.ui.widgets.CTabFolder.setSelection(CTabFolder.java:2888)
	at org.eclipse.e4.ui.widgets.CTabFolder.destroyItem(CTabFolder.java:720)
	at org.eclipse.e4.ui.widgets.CTabItem.dispose(CTabItem.java:126)
	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.hideChild(StackRenderer.java:424)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.handleEvent(PartRenderingEngine.java:296)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4681)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:182)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:58)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:380)
	at org.eclipse.emf.common.notify.impl.NotificationImpl.dispatch(NotificationImpl.java:1033)
	at org.eclipse.emf.common.notify.impl.NotificationImpl.dispatch(NotificationImpl.java:1038)
	at org.eclipse.emf.common.notify.impl.NotifyingListImpl.remove(NotifyingListImpl.java:724)
	at org.eclipse.emf.common.util.AbstractEList.remove(AbstractEList.java:466)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.StackDropAgent.dock(StackDropAgent.java:213)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.StackDropAgent.drop(StackDropAgent.java:248)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.finishDrag(DnDManager.java:257)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.startDrag(DnDManager.java:233)
	at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager$3.handleEvent(DnDManager.java:110)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4163)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:868)
Comment 1 Remy Suen CLA 2011-04-20 13:37:07 EDT
Downgrading the severity as the window is not actually stuck in the bad state.
Comment 2 Remy Suen CLA 2011-04-21 16:13:52 EDT
This is probably a duplicate of bug 343389 but I think I'll leave this open for verification purposes.
Comment 3 Remy Suen CLA 2011-04-27 09:55:23 EDT
Verified on I20110427-0200 with Windows XP. Must have been fixed by bug 343389 then.

*** This bug has been marked as a duplicate of bug 343907 ***
Comment 4 Remy Suen CLA 2011-04-27 09:56:16 EDT
Whoops, wrong one, sorry.

*** This bug has been marked as a duplicate of bug 343389 ***