This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 400048 - I have the shadow of the project Explorer even if i close the explorer.
Summary: I have the shadow of the project Explorer even if i close the explorer.
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.3   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 4.4 M2   Edit
Assignee: Eric Moffatt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 400047 416464 (view as bug list)
Depends on:
Blocks: 415711
  Show dependency tree
 
Reported: 2013-02-05 23:41 EST by Santhoshkumar P CLA
Modified: 2013-09-16 13:20 EDT (History)
4 users (show)

See Also:


Attachments
Juno_Shadow_bug (26.76 KB, image/png)
2013-02-05 23:41 EST, Santhoshkumar P CLA
no flags Details
JUno_error_log (251.49 KB, text/plain)
2013-02-06 22:26 EST, Santhoshkumar P CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Santhoshkumar P CLA 2013-02-05 23:41:51 EST
Created attachment 226603 [details]
Juno_Shadow_bug

I just moved the project Explorer . Then i closed it . But after that their is a shadow still exist in Eclipse-jee-juno-SR1-win32-x86_64. I attached the screen shot. Please refer it.
Comment 1 Santhoshkumar P CLA 2013-02-05 23:44:11 EST
*** Bug 400047 has been marked as a duplicate of this bug. ***
Comment 2 Jay Arthanareeswaran CLA 2013-02-06 03:20:25 EST
Moving to Platform
Comment 3 Paul Webster CLA 2013-02-06 10:55:46 EST
Moved it how?  Was it a minimized view that you opened (so on top of the other views in the workbench)?  Also. please attach your .log file, <workspace>/.metadata/.log

PW
Comment 4 Santhoshkumar P CLA 2013-02-06 22:26:49 EST
Created attachment 226672 [details]
JUno_error_log
Comment 5 Santhoshkumar P CLA 2013-02-06 22:34:32 EST
I just dragged the project explorer to move to top. But the project explorer disappeared and the shadow is not closed. I reset the view.But still it occurred. Please check the attachment for the error log.
Comment 6 Paul Webster CLA 2013-02-07 13:37:42 EST
(In reply to comment #5)
> I just dragged the project explorer to move to top. But the project explorer
> disappeared and the shadow is not closed. 

Was it just a regular layout, or was any view minimized or maximized?

PW
Comment 7 Paul Webster CLA 2013-02-07 13:37:57 EST
Eric, I see the following exception:

java.lang.NullPointerException
	at org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon.restore(MinMaxAddon.java:557)
	at org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon$8.handleEvent(MinMaxAddon.java:374)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4687)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:187)
	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:374)
	at org.eclipse.emf.ecore.util.EcoreEList.dispatchNotification(EcoreEList.java:249)
	at org.eclipse.emf.common.notify.impl.NotifyingListImpl.remove(NotifyingListImpl.java:725)
	at org.eclipse.emf.common.util.AbstractEList.remove(AbstractEList.java:460)
	at org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon.unzoom(MinMaxAddon.java:712)
	at org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon$8.handleEvent(MinMaxAddon.java:376)
	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4687)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:187)
	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:374)
	at org.eclipse.emf.ecore.util.EcoreEList.dispatchNotification(EcoreEList.java:249)
	at org.eclipse.emf.common.notify.impl.NotifyingListImpl.remove(NotifyingListImpl.java:725)
	at org.eclipse.emf.common.util.AbstractEList.remove(AbstractEList.java:460)
	at org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon.setState(MinMaxAddon.java:259)
	at org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon.access$2(MinMaxAddon.java:249)
	at org.eclipse.e4.ui.workbench.addons.minmax.MinMaxAddon$4.mouseDoubleClick(MinMaxAddon.java:214)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:196)
	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.Display.runDeferredEvents(Display.java:4169)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1029)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	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:353)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Comment 8 Paul Webster CLA 2013-02-07 13:38:54 EST
As a workaround, you can shut down eclipse and then remove the <workspace>/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi file (back it up first)

PW
Comment 9 Eric Moffatt CLA 2013-02-07 14:19:02 EST
From the screen cap it does appear to be a leftover composite from an open minimized stack. I just tried closing the last view in a minimized stack on my current install and it seems to work OK.

The problem occurs if you *drag* the last view out of an opened minimized stack...we should be either checking this or ensuring that the stack that we're dragging *from* is not minimized.
Comment 10 Eric Moffatt CLA 2013-02-07 14:20:37 EST
BTW, this is a transient SWT element and is not in the model so a simple 'restart' should fix it up.
Comment 11 Santhoshkumar P CLA 2013-02-08 02:41:09 EST
Ya after restart it is fixed. But i don't know why this happened. So only posted the bug.
Comment 12 Eric Moffatt CLA 2013-02-08 13:09:39 EST
Yes, it was a good pickup actually...it's certainly a bug.

Basically it's my code for the minimized stack handling that's the root cause.
Comment 13 Paul Webster CLA 2013-05-21 08:16:54 EDT
Eric, here are some reproducible steps.  I was able to reproduce in 4.2.2 and 4.3

PW

Launch Eclipse with a new workspace (as it will become unusable in a few minutes)
In the Resource perspective, create a new Project
Create a new File (test1.txt) 
Create a new File (test2.txt) 
Double click on the editor tab for test1.txt to maximize it
Click the minimize icon on the editor toolbar
> Now you have a problem, because the editors did not go back to their correct location 
-- using the Restore button in the editor toolbar has no affect
-- closing the editors leaves an unusable area on the screen that cannot be recovered (see screen capture)
-- Reset Perspective has no affect
-- sometimes restarting the workspace seems to get things working again (though not always)
-- sometimes the NPE below can be found in the Error Log (though not always)
Comment 14 Eric Moffatt CLA 2013-05-21 11:16:38 EDT
Moving to 4.3.1 this is a slightly different issues than the one Paul describes below...
Comment 15 Eric Moffatt CLA 2013-08-22 09:55:47 EDT
This is still there and we should fix it...it should just be a matter of fixing up the listeners for the trim stack to manage the 'remove' caused by the drag...
Comment 16 Eric Moffatt CLA 2013-08-22 14:49:10 EDT
Committed:

http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=c59a25a972bf86c7ab37482b37cdf53774e14c69

This removes the MINIMIZED tag from the element being dragged *before* completing the drop operation.

This was actually an issue where the dragged element was the MPartStack that was minimized. Even in the given scenario when you drag the only tab item in a stack it's treated as if the stack itself was being dragged...
Comment 17 Eric Moffatt CLA 2013-09-04 11:07:07 EDT
*** Bug 416464 has been marked as a duplicate of this bug. ***
Comment 18 Eric Moffatt CLA 2013-09-16 13:20:07 EDT
Verified in 4.4.0.I20130915-2000.

Paul, I also can't repro your steps of minimizing a max'd editor area, I think that was already reported / fixed in another defect.