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

Bug 355964

Summary: [Compatibility] Tool bars are duplicated in the main workbench window
Product: [Eclipse Project] Platform Reporter: Remy Suen <remy.suen>
Component: UIAssignee: Remy Suen <remy.suen>
Status: VERIFIED FIXED QA Contact: Remy Suen <remy.suen>
Severity: major    
Priority: P3 CC: daniel_megert, gheorghe
Version: 4.1   
Target Milestone: 4.2 M2   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 350080    
Attachments:
Description Flags
Screenshot depicting the problem in question. none

Description Remy Suen CLA 2011-08-26 11:43:04 EDT
M20110817-2001

1. Open the 'Functional Test Execution' perspective from Jubula.
2. File > Restart
3. Now you have duplicated tool items.

Use 'Window > New Window' to spawn a new one as a workaround.
Comment 1 Remy Suen CLA 2011-08-26 11:43:18 EDT
Created attachment 202243 [details]
Screenshot depicting the problem in question.
Comment 2 Remy Suen CLA 2011-08-31 11:44:38 EDT
The 'Spacer Glue' MToolControl remains in the workbench window whereas it doesn't in the regular case.
Comment 3 Remy Suen CLA 2011-08-31 16:27:47 EDT
(In reply to comment #2)
> The 'Spacer Glue' MToolControl remains in the workbench window whereas it
> doesn't in the regular case.

Scratch that, the problem is that another trimbar with the id 'org.eclipse.ui.main.toolbar' is persisted.
Comment 4 Remy Suen CLA 2011-09-01 08:45:45 EDT
Seems like it is caused by some activity expressions as the activity support is causing the window's trim bar to get added back to the window's model again (after having been removed).

Thread [main] (Suspended (breakpoint at line 591 in CoolBarToTrimManager))	
	CoolBarToTrimManager.update(boolean) line: 591	
	WorkbenchActivitySupport$1$1.updateManager(IContributionManager) line: 252	
	WorkbenchActivitySupport$1$1.updateWindowBars(WorkbenchWindow) line: 222	
	WorkbenchActivitySupport$1$1.run(IProgressMonitor) line: 151	
	ModalContext.runInCurrentThread(IRunnableWithProgress, IProgressMonitor) line: 464	
	ModalContext.run(IRunnableWithProgress, boolean, IProgressMonitor, Display) line: 372	
	ProgressMonitorDialog.run(boolean, boolean, IRunnableWithProgress) line: 507	
	WorkbenchActivitySupport$1$2$1.run() line: 279	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchActivitySupport$1$2.run() line: 268	
	RunnableLock.run() line: 35	
	UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 135	
	Display.runAsyncMessages(boolean) line: 4140	
	Display.readAndDispatch() line: 3757	
	ModalContext$ModalContextThread.block() line: 173	
	ModalContext.run(IRunnableWithProgress, boolean, IProgressMonitor, Display) line: 388	
	IDEWorkbenchAdvisor$CancelableProgressMonitorJobsDialog(ProgressMonitorDialog).run(boolean, boolean, IRunnableWithProgress) line: 507	
	IDEWorkbenchAdvisor$CancelableProgressMonitorJobsDialog(ProgressMonitorJobsDialog).run(boolean, boolean, IRunnableWithProgress) line: 275	
	IDEWorkbenchAdvisor.disconnectFromWorkspace() line: 515	
	IDEWorkbenchAdvisor.postShutdown() line: 348	
	Workbench.shutdown() line: 2567	
	Workbench.busyClose(boolean) line: 1061	
	Workbench.access$13(Workbench, boolean) line: 944	
	Workbench$15.run() line: 1125	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	Workbench.close(int, boolean) line: 1123	
	Workbench.close() line: 1096	
	WorkbenchWindow.busyClose(boolean) line: 1122	
	WorkbenchWindow.access$15(WorkbenchWindow, boolean) line: 1104	
	WorkbenchWindow$8.run() line: 1151	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchWindow.close(boolean) line: 1149	
	WorkbenchWindow.close() line: 1161	
	WorkbenchWindow$4.close(MWindow) line: 425	
	WBWRenderer$10.shellClosed(ShellEvent) line: 524
Comment 6 Remy Suen CLA 2011-09-13 11:45:41 EDT
Verified with I20110913-0200 on Windows XP.