Bug 573355 - Avoid double refresh after IDE crash Allow org.eclipse.ui.ide.application to check if workspace crash was detected, so it can skip (another one) workspace refresh in that case. Change-Id: I8467f916eccb2f37877c1ff29bd01ecebda694b9 Signed-off-by: Andrey Loskutov <loskutov@gmx.de> Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.resources/+/180203 Tested-by: Platform Bot <platform-bot@eclipse.org> Reviewed-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
diff --git a/bundles/org.eclipse.core.resources/META-INF/MANIFEST.MF b/bundles/org.eclipse.core.resources/META-INF/MANIFEST.MF index 0261120..3ace510 100644 --- a/bundles/org.eclipse.core.resources/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.core.resources/META-INF/MANIFEST.MF
@@ -11,8 +11,8 @@ org.eclipse.core.internal.localstore;x-internal:=true, org.eclipse.core.internal.properties;x-internal:=true, org.eclipse.core.internal.propertytester;x-internal:=true, - org.eclipse.core.internal.refresh;x-internal:=true, - org.eclipse.core.internal.resources;x-internal:=true, + org.eclipse.core.internal.refresh;x-friends:="org.eclipse.ui.ide.application", + org.eclipse.core.internal.resources;x-friends:="org.eclipse.ui.ide.application", org.eclipse.core.internal.resources.mapping;x-internal:=true, org.eclipse.core.internal.resources.projectvariables;x-internal:=true, org.eclipse.core.internal.resources.refresh.win32;x-internal:=true,
diff --git a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Workspace.java b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Workspace.java index 9c4b4a6..c1207d0 100644 --- a/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Workspace.java +++ b/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Workspace.java
@@ -2376,6 +2376,13 @@ } } + /** + * @return true if workspace crash in previous session was detected at startup + */ + public boolean isCrashed() { + return crashed; + } + @Override public void setDescription(IWorkspaceDescription value) { // if both the old and new description's build orders are null, leave the