Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 365762

Summary: Intro doesn't cover full window on subsequent installations
Product: [Eclipse Project] Platform Reporter: Brian de Alwis <bsd>
Component: UIAssignee: Eric Moffatt <emoffatt>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: remy.suen
Version: 4.2   
Target Milestone: 4.2 M6   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
Screen shot after step #3 none

Description Brian de Alwis CLA 2011-12-06 11:21:59 EST
Created attachment 208001 [details]
Screen shot after step #3

Version: 4.2 (for M4)
BuildId: I20111205-2330

1. Start a fresh Eclipse. Kill the Intro view.
2. Install EGit (it provides a contribution to the intro)
3. Restart Eclipse

The Intro view is only on the right part of window, rather than covering the entire window.
Comment 1 Remy Suen CLA 2011-12-08 16:04:59 EST
*** Bug 366101 has been marked as a duplicate of this bug. ***
Comment 2 Eric Moffatt CLA 2011-12-09 11:42:23 EST
Moving to M5.

... but I'm going to take a look at this one today...I'm most curious as to how we can get only *some* of the stacks minimized.
Comment 3 Eric Moffatt CLA 2011-12-14 09:14:40 EST
Unfortunately this is going to require remote debugging (or finding out why Intro doesn't re-appear on 'inner' sessions).
Comment 4 Remy Suen CLA 2012-01-23 14:42:07 EST
(In reply to comment #2)
> I'm most curious as to how
> we can get only *some* of the stacks minimized.

Basically, the gist of the story is that the intro is shown and it asks all the elements to minimize. This is okay but only the left stack gets minimized because it is the only stack that has been rendered and actually has a widget and the maximizing code will only tag stacks as having been minimized if they have been a widget.

Thread [main] (Suspended (breakpoint at line 588 in MinMaxAddon))	
	MinMaxAddon.maximize(MUIElement) line: 588	
	MinMaxAddon$8.handleEvent(Event) line: 372	
	UIEventHandler$1.run() line: 41	
	UISynchronizer(Synchronizer).syncExec(Runnable) line: 180	
	UISynchronizer.syncExec(Runnable) line: 150	
	Display.syncExec(Runnable) line: 4683	
	E4Application$1.syncExec(Runnable) line: 177	
	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: 55	
	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	
	WorkbenchIntroManager.setIntroStandby(IIntroPart, boolean) line: 205	
	WorkbenchIntroManager.showIntro(IWorkbenchWindow, boolean) line: 141	
	IDEWorkbenchWindowAdvisor(WorkbenchWindowAdvisor).openIntro() line: 190	
	IDEWorkbenchWindowAdvisor.openIntro() line: 564	
	WorkbenchWindow.setup() line: 611	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 88	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 55	
	Method.invoke(Object, Object...) line: 613	
	MethodRequestor.execute() line: 56	
	InjectorImpl.processAnnotated(Class<Annotation>, Object, Class<?>, PrimaryObjectSupplier, PrimaryObjectSupplier, ArrayList<Class<?>>) line: 838	
	InjectorImpl.inject(Object, PrimaryObjectSupplier, PrimaryObjectSupplier) line: 110	
	InjectorImpl.inject(Object, PrimaryObjectSupplier) line: 80	
	ContextInjectionFactory.inject(Object, IEclipseContext) line: 72	
	Workbench.createWorkbenchWindow(IAdaptable, IPerspectiveDescriptor, MWindow, boolean) line: 1233	
	Workbench.openWorkbenchWindow(IAdaptable, IPerspectiveDescriptor, MWindow, boolean) line: 2244	
	Workbench.getWorkbenchPage(MPart) line: 1704	
	Workbench.setReference(MPart, IEclipseContext) line: 1723	
	Workbench.access$21(Workbench, MPart, IEclipseContext) line: 1720	
	Workbench$32.handleEvent(Event) line: 1671	
	UIEventHandler$1.run() line: 41	
	UISynchronizer(Synchronizer).syncExec(Runnable) line: 180	
	UISynchronizer.syncExec(Runnable) line: 150	
	Display.syncExec(Runnable) line: 4683	
	E4Application$1.syncExec(Runnable) line: 177	
	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: 55	
	PartImpl(BasicNotifierImpl).eNotify(Notification) line: 380	
	PartImpl.setContext(IEclipseContext) line: 422	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 595	
	PartRenderingEngine$6.run() line: 505	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement, Object, IEclipseContext) line: 490	
	ElementReferenceRenderer.createWidget(MUIElement, Object) line: 74	
	PartRenderingEngine.createWidget(MUIElement, Object) line: 866	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 616	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	StackRenderer.showTab(MUIElement) line: 786	
	StackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 97	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 632	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	PerspectiveRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PerspectiveRenderer.processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	PerspectiveStackRenderer.showTab(MUIElement) line: 103	
	PerspectiveStackRenderer(LazyStackRenderer).postProcess(MUIElement) line: 97	
	PerspectiveStackRenderer.postProcess(MUIElement) line: 77	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 632	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	SashRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	WBWRenderer(SWTPartRenderer).processContents(MElementContainer<MUIElement>) line: 59	
	WBWRenderer.processContents(MElementContainer<MUIElement>) line: 584	
	PartRenderingEngine.safeCreateGui(MUIElement, Object, IEclipseContext) line: 628	
	PartRenderingEngine.safeCreateGui(MUIElement) line: 718	
	PartRenderingEngine.access$2(PartRenderingEngine, MUIElement) line: 689	
	PartRenderingEngine$7.run() line: 683	
	SafeRunner.run(ISafeRunnable) line: 42	
	PartRenderingEngine.createGui(MUIElement) line: 668	
	PartRenderingEngine$9.run() line: 938	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 893	
	E4Workbench.createAndRunUI(MApplicationElement) line: 85	
	Workbench$4.run() line: 577	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 532	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 124	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 352	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 88	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 55	
	Method.invoke(Object, Object...) line: 613	
	Main.invokeFramework(String[], URL[]) line: 624	
	Main.basicRun(String[]) line: 579	
	Main.run(String[]) line: 1433	
	Main.main(String[]) line: 1409
Comment 5 Brian de Alwis CLA 2012-02-08 10:35:48 EST
Unfortunately using Help > Welcome doesn't seem to reproduce this case.  I had to uninstall and re-install EGit to trigger.
Comment 6 Eric Moffatt CLA 2012-02-08 15:48:45 EST
I installed I20120207-2200, then installed GIT and no longer see this issue...
Comment 7 Brian de Alwis CLA 2012-02-09 09:30:05 EST
Confirmed with I20120207-2200.