Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 343298 - Minimizing all stacks in the contacts demo will cause it to shutdown
Summary: Minimizing all stacks in the contacts demo will cause it to shutdown
Status: CLOSED DUPLICATE of bug 340873
Alias: None
Product: e4
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 1.0   Edit
Hardware: All All
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-19 14:10 EDT by Remy Suen CLA
Modified: 2011-05-16 06:07 EDT (History)
2 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 2011-04-19 14:10:04 EDT
The CleanupAddon recursively calls setVisible(false) on all parent elements, ultimately causing the shell itself to be made invisible also.

Thread [main] (Suspended (breakpoint at line 1835 in Shell))	
	Shell.setVisible(boolean) line: 1835	
	CleanupAddon$2.handleEvent(Event) line: 145	
	UIEventHandler$1.run() line: 41	
	Synchronizer.syncExec(Runnable) line: 179	
	Display.syncExec(Runnable) line: 4681	
	E4Application$1.syncExec(Runnable) line: 182	
	UIEventHandler.handleEvent(Event) line: 38	
	EventHandlerWrapper.handleEvent(Event, Permission) line: 197	
	EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197	
	EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1	
	EventManager.dispatchEvent(Set<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230	
	ListenerQueue<K,V,E>.dispatchEventSynchronous(int, E) line: 148	
	EventAdminImpl.dispatchEvent(Event, boolean) line: 135	
	EventAdminImpl.sendEvent(Event) line: 78	
	EventComponent.sendEvent(Event) line: 39	
	EventBroker.send(String, Object) line: 81	
	UIEventPublisher.notifyChanged(Notification) line: 58	
	TrimmedWindowImpl(BasicNotifierImpl).eNotify(Notification) line: 380	
	TrimmedWindowImpl(UIElementImpl).setVisible(boolean) line: 334	
	CleanupAddon$2.handleEvent(Event) line: 221	
	UIEventHandler$1.run() line: 41	
	Synchronizer.syncExec(Runnable) line: 179	
	Display.syncExec(Runnable) line: 4681	
	E4Application$1.syncExec(Runnable) line: 182	
	UIEventHandler.handleEvent(Event) line: 38	
	EventHandlerWrapper.handleEvent(Event, Permission) line: 197	
	EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197	
	EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1	
	EventManager.dispatchEvent(Set<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230	
	ListenerQueue<K,V,E>.dispatchEventSynchronous(int, E) line: 148	
	EventAdminImpl.dispatchEvent(Event, boolean) line: 135	
	EventAdminImpl.sendEvent(Event) line: 78	
	EventComponent.sendEvent(Event) line: 39	
	EventBroker.send(String, Object) line: 81	
	UIEventPublisher.notifyChanged(Notification) line: 58	
	PartSashContainerImpl(BasicNotifierImpl).eNotify(Notification) line: 380	
	PartSashContainerImpl(UIElementImpl).setVisible(boolean) line: 334	
	CleanupAddon$2.handleEvent(Event) line: 221	
	UIEventHandler$1.run() line: 41	
	Synchronizer.syncExec(Runnable) line: 179	
	Display.syncExec(Runnable) line: 4681	
	E4Application$1.syncExec(Runnable) line: 182	
	UIEventHandler.handleEvent(Event) line: 38	
	EventHandlerWrapper.handleEvent(Event, Permission) line: 197	
	EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197	
	EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1	
	EventManager.dispatchEvent(Set<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230	
	ListenerQueue<K,V,E>.dispatchEventSynchronous(int, E) line: 148	
	EventAdminImpl.dispatchEvent(Event, boolean) line: 135	
	EventAdminImpl.sendEvent(Event) line: 78	
	EventComponent.sendEvent(Event) line: 39	
	EventBroker.send(String, Object) line: 81	
	UIEventPublisher.notifyChanged(Notification) line: 58	
	PartStackImpl(BasicNotifierImpl).eNotify(Notification) line: 380	
	PartStackImpl(UIElementImpl).setVisible(boolean) line: 334	
	MinMaxAddon.minimize(MUIElement) line: 376	
	MinMaxAddon$5.handleEvent(Event) line: 244	
	UIEventHandler$1.run() line: 41	
	Synchronizer.syncExec(Runnable) line: 179	
	Display.syncExec(Runnable) line: 4681	
	E4Application$1.syncExec(Runnable) line: 182	
	UIEventHandler.handleEvent(Event) line: 38	
	EventHandlerWrapper.handleEvent(Event, Permission) line: 197	
	EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197	
	EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1	
	EventManager.dispatchEvent(Set<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230	
	ListenerQueue<K,V,E>.dispatchEventSynchronous(int, E) line: 148	
	EventAdminImpl.dispatchEvent(Event, boolean) line: 135	
	EventAdminImpl.sendEvent(Event) line: 78	
	EventComponent.sendEvent(Event) line: 39	
	EventBroker.send(String, Object) line: 81	
	UIEventPublisher.notifyChanged(Notification) line: 58	
	PartStackImpl(BasicNotifierImpl).eNotify(Notification) line: 380	
	EDataTypeUniqueEList<E>(EcoreEList<E>).dispatchNotification(Notification) line: 255	
	EDataTypeUniqueEList<E>(NotifyingListImpl<E>).addUnique(E) line: 310	
	EDataTypeUniqueEList<E>(AbstractEList<E>).add(E) line: 307	
	MinMaxAddon.setState(MUIElement, String) line: 170	
	MinMaxAddon.access$0(MinMaxAddon, MUIElement, String) line: 159	
	MinMaxAddon$1.minimize(CTabFolderEvent) line: 91	
	CTabFolder.onSelection(Event) line: 1926
Comment 1 Christoph Keimel CLA 2011-04-21 06:32:25 EDT
In my opinion the Minimize should work like this.

Assuming n > 1 PartStacks are active: If stack number n-1 gets minimized (meaning that n-2 stacks have been minimized already), then the status of the remaining "unminimized" stack should be set to MAXIMIZED. This way the result of minimizing n-1 stacks is the same as maximizing the remaining stack and the status of the workbench is always valid.

If only one PartStack is active then Min/Max should be disabled.
Comment 2 Remy Suen CLA 2011-05-04 16:23:03 EDT
Looks like this bug has been fixed by the changes for bug 340873.

Christoph, if you feel the points you raised are important please open individual bugs for them for each scenario, thank you for your input and for testing Eclipse 4!

*** This bug has been marked as a duplicate of bug 340873 ***
Comment 3 Christoph Keimel CLA 2011-05-16 06:07:12 EDT
Have done so:
Bug 345902 
Bug 345904