| Summary: | 'Save All' is not active unless more than one file has been changed | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Wally Seubert <wseubert> |
| Component: | Text | Assignee: | 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
Not sure if this is text or platform/ui. > 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)? 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. 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. 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());
|