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

Bug 69839

Summary: 'Save All' is not active unless more than one file has been changed
Product: [Eclipse Project] Platform Reporter: Wally Seubert <wseubert>
Component: TextAssignee: Platform-Text-Inbox <platform-text-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P2 CC: fraenkel
Version: 3.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Wally Seubert CLA 2004-07-12 10:30:27 EDT
I am working in a Java environment.  'Save All' is not active unless more than 
one file has been changed.  I'm pretty sure in the past release 'Save All' 
worked even if only 1 file was edited.  This is reproducable.  

This is a pretty trivial thing in the big picture but it just happens to be 
something I use...

Any questions, just ask.
Thanks
Comment 1 Dirk Baeumer CLA 2004-07-12 11:04:16 EDT
Not sure if this is text or platform/ui.
Comment 2 Dani Megert CLA 2004-07-12 11:22:47 EDT
> This is reproducable.

Good. We are looking for a test case for some time now (see bug 67590) and it
seems to depend on some specific setting(s). What are steps to reproduce?
Anything in .log? Any 3rd party plug-in installed (e.g. XML Buddy)?
Comment 3 Wally Seubert CLA 2004-07-12 16:25:38 EDT
My only plugin is version 2.0.6 of jadclipse.  I'm pretty sure the problem 
existed before I added the plugin.

The problem seemed to go away after I sent the bug report but here's how I 
just got it to happen again...

1.  Have a file open in the editor.
2.  Close Eclipse with a project open
3.  Open Eclipse
4.  Change something (I see the *) and then CTRL-SHIFT-S doesn't do anything 
and File|'Save All' is greyed out.
Comment 4 Michael Fraenkel CLA 2004-07-12 21:27:50 EDT
The problem is that during startup the WWinPartService.pageOpened is driven 
when the editor is already available.  The WWinPartService.pageActivated then 
hooks itself into the IWorkbenchPage for partOpened notifications.

One way to fix this is to fire partOpened notifications for all existing parts.
Comment 5 Michael Fraenkel CLA 2004-07-12 22:02:50 EDT
Another way which might be easier is to reorder the sequence of restoration.

Index: WorkbenchWindow.java
===================================================================
RCS file: /home/eclipse/org.eclipse.ui.workbench/Eclipse 
UI/org/eclipse/ui/internal/WorkbenchWindow.java,v
retrieving revision 1.238
diff -u -r1.238 WorkbenchWindow.java
--- WorkbenchWindow.java	23 Jun 2004 17:14:35 -0000	1.238
+++ WorkbenchWindow.java	13 Jul 2004 01:54:39 -0000
@@ -1369,9 +1369,9 @@
 			WorkbenchPage newPage = null;
 			try {
 				newPage = new WorkbenchPage(this, input);
-				result.add(newPage.restoreState(pageMem, 
activeDescriptor));
 				pageList.add(newPage);
 				firePageOpened(newPage);
+				result.add(newPage.restoreState(pageMem, 
activeDescriptor));
 			} catch (WorkbenchException e) {
 				WorkbenchPlugin.log("Unable to restore 
perspective - constructor failed."); //$NON-NLS-1$
 				result.add(e.getStatus());
Comment 6 Dani Megert CLA 2004-07-13 04:48:14 EDT

*** This bug has been marked as a duplicate of 67590 ***