summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java')
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java24
1 files changed, 10 insertions, 14 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java
index 2f95c21cb558..e7b20959369e 100644
--- a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java
+++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java
@@ -21,6 +21,7 @@ import com.intellij.conversion.ConversionService;
import com.intellij.ide.AppLifecycleListener;
import com.intellij.ide.RecentProjectsManagerBase;
import com.intellij.ide.impl.ProjectUtil;
+import com.intellij.ide.plugins.PluginManager;
import com.intellij.ide.startup.impl.StartupManagerImpl;
import com.intellij.notification.NotificationsManager;
import com.intellij.openapi.Disposable;
@@ -354,7 +355,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt
myDefaultProjectRootElement = null;
}
catch (Throwable t) {
- LOG.error(t);
+ PluginManager.processException(t);
}
}
});
@@ -362,6 +363,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt
return myDefaultProject;
}
+ @Nullable
public Element getDefaultProjectRootElement() {
return myDefaultProjectRootElement;
}
@@ -1126,33 +1128,27 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt
}
@Override
- public void writeExternal(Element parentNode) throws WriteExternalException {
+ public void writeExternal(Element parentNode) {
if (myDefaultProject != null) {
myDefaultProject.save();
}
- if (myDefaultProjectRootElement == null) { //read external isn't called if config folder is absent
- myDefaultProjectRootElement = new Element(ELEMENT_DEFAULT_PROJECT);
+ if (myDefaultProjectRootElement != null) {
+ myDefaultProjectRootElement.detach();
+ parentNode.addContent(myDefaultProjectRootElement);
}
-
- myDefaultProjectRootElement.detach();
- parentNode.addContent(myDefaultProjectRootElement);
}
-
public void setDefaultProjectRootElement(final Element defaultProjectRootElement) {
myDefaultProjectRootElement = defaultProjectRootElement;
}
@Override
- public void readExternal(Element parentNode) throws InvalidDataException {
+ public void readExternal(Element parentNode) {
myDefaultProjectRootElement = parentNode.getChild(ELEMENT_DEFAULT_PROJECT);
-
- if (myDefaultProjectRootElement == null) {
- myDefaultProjectRootElement = new Element(ELEMENT_DEFAULT_PROJECT);
+ if (myDefaultProjectRootElement != null) {
+ myDefaultProjectRootElement.detach();
}
-
- myDefaultProjectRootElement.detach();
}
@Override