| Summary: | DND styles seeming change randomly while typing | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] e4 | Reporter: | Paul Webster <pwebster> | ||||||||
| Component: | UI | Assignee: | Eric Moffatt <emoffatt> | ||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||
| Severity: | blocker | ||||||||||
| Priority: | P3 | CC: | emoffatt, remy.suen | ||||||||
| Version: | unspecified | ||||||||||
| Target Milestone: | 4.1 M6 | ||||||||||
| Hardware: | All | ||||||||||
| OS: | All | ||||||||||
| Whiteboard: | |||||||||||
| Attachments: |
|
||||||||||
I'm getting in a lot of situations where merely clicking on a tab will "move" the tab. PW 1. Try to drag parts around. You will get a green rectangle.
2. Add a while loop to your code somewhere (by typing, do not copy/paste).
while {
}
3. Try to drag stuff around. You no longer get the green rectangle feedback.
4. You will probably get floating half-transparent shells or an AIOOBE (see bug 338211).
5. Add a 'long' to your loop (by typing, do not copy/paste).
while {
long l = 0;
}
6. Try to drag stuff around. Now you get a green rectangle with said part's content inside it.
Created attachment 189832 [details]
DnDManager patch v1
A key listener is randomly changing the DND styles.
(In reply to comment #3) > Created attachment 189832 [details] > DnDManager patch v1 Patch released to HEAD. Verified with I20110225-1300. I just got the AIOOBE again with I20110225-1300 !SESSION 2011-02-28 09:37:27.970 ----------------------------------------------- eclipse.buildId=I20110225-1300 java.fullversion=JRE 1.6.0 IBM J9 2.4 Linux amd64-64 jvmxa6460sr9-20101124_69295 (JIT enabled, AOT enabled) J9VM - 20101124_069295 JIT - r9_20101028_17488ifx2 GC - 20101027_AA BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US Command-line arguments: -os linux -ws gtk -arch x86_64 -data /opt/pwebster/workspaces/e4 !ENTRY org.eclipse.e4.ui.workbench 4 0 2011-02-28 11:27:06.909 !MESSAGE Internal Error !STACK 0 java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -1 at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:446) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:393) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:351) at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:345) at org.eclipse.e4.ui.workbench.addons.dndaddon.StackDropAgent.dock(StackDropAgent.java:217) 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:1525) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1257) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3537) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3170) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:842) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:758) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:87) at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:542) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:524) 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:344) 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:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) 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) Clicking on the problems view makes it hop around :-) PW Mm yes, this problem seems to occur even with the "simple" DND style. I got it just now also. Created attachment 189964 [details]
use the non-indexed 'add' if the index is out of range...
use the non-indexed 'add' if the index is out of range...
Committed in >20110228. Applied the patch. The above fix should at least get rid of the AIIOB's... This other problem will occur if you drag the first element to the left, so that green bar is right left of the tab as if it's no-op. Though this too might be fixed by Eric's change. java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:446) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:393) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:351) at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:345) at org.eclipse.e4.ui.workbench.addons.dndaddon.StackDropAgent.dock(StackDropAgent.java:217) 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:4126) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3715) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:842) Is this still an issue ? It's a 'blocker' marked against M6... (In reply to comment #13) > Is this still an issue ? It's a 'blocker' marked against M6... Think the AIOOBEs and DND styles randomly changing have been fixed anyway. |
Created attachment 189791 [details] session log I clicked on the Problems view tab, and got an error. I wasn't actually dragging and dropping at the time, although I got the error again when I showed the problems view and tried to move it back into the first position (which appear to work) and then clicked on it (which didn't). The full log is attached. eclipse.buildId=I20110224-2000 java.fullversion=JRE 1.6.0 IBM J9 2.4 Linux amd64-64 jvmxa6460sr9-20101124_69295 (JIT enabled, AOT enabled) J9VM - 20101124_069295 JIT - r9_20101028_17488ifx2 GC - 20101027_AA BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US Command-line arguments: -os linux -ws gtk -arch x86_64 -data /opt/pwebster/workspaces/e4 Error Fri Feb 25 07:49:52 EST 2011 Internal Error java.lang.ArrayIndexOutOfBoundsException: Array index out of range: -1 at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:446) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:393) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:351) at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:345) at org.eclipse.e4.ui.workbench.addons.dndaddon.StackDropAgent.dock(StackDropAgent.java:217) 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:265) at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager.startDrag(DnDManager.java:241) at org.eclipse.e4.ui.workbench.addons.dndaddon.DnDManager$3.handleEvent(DnDManager.java:118) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1525) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1257)