diff options
author | Tor Norbye <tnorbye@google.com> | 2014-09-02 06:53:14 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-09-02 15:30:17 +0000 |
commit | ffc7c39f9e6b13a8613e57bd0c165a7abcf9d798 (patch) | |
tree | 66918c594f40bc134e2e2b74626be5fb26e4a8e8 | |
parent | 4324c2e655e57533e122d59fa03508bf1d1a15fa (diff) | |
download | idea-ffc7c39f9e6b13a8613e57bd0c165a7abcf9d798.tar.gz |
73999: Corrupt installation: Still contains android-designer bits
Change-Id: I33ce74f7b61423f0c7e63db1d5ebad01c8ffc2ff
(cherry picked from commit 5416bb1377d39bd78882d44bf1369f327de7ac70)
-rw-r--r-- | platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java index 0b889127a880..86f31e970084 100644 --- a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java +++ b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java @@ -30,6 +30,7 @@ import org.picocontainer.MutablePicoContainer; import org.picocontainer.PicoContainer; import org.picocontainer.defaults.ConstructorInjectionComponentAdapter; +import javax.swing.*; import java.io.IOException; import java.io.StringWriter; import java.util.*; @@ -314,6 +315,21 @@ public class ExtensionsAreaImpl implements ExtensionsArea { @NotNull PluginDescriptor descriptor, @NotNull ExtensionPoint.Kind kind) { if (hasExtensionPoint(extensionPointName)) { + // Android Studio workaround for + // 73999: Corrupt installation: Still contains android-designer bits + // https://code.google.com/p/android/issues/detail?id=73999 + if ("Designer.customizations".equals(extensionPointName)) { + String msg = "Your Android Studio installation is corrupt and will not work properly.\n" + + "\n" + + "This can happen if Android Studio is extracted into an existing older version.\n\n" + + "Please reinstall (and make sure the new installation directory is empty first!)"; + String title = "Corrupt Installation"; + // Using JOptionPane rather than the better looking com.intellij.openapi.ui.Messages support + // here because this is called during early initialization + JOptionPane.showMessageDialog(null, msg, title, JOptionPane.ERROR_MESSAGE); + System.exit(-1); + } + if (DEBUG_REGISTRATION) { final ExtensionPointImpl oldEP = getExtensionPoint(extensionPointName); myLogger.error("Duplicate registration for EP: " + extensionPointName + ": original plugin " + oldEP.getDescriptor().getPluginId() + |