diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/FileIndentOptionsProvider.java b/platform/lang-api/src/com/intellij/psi/codeStyle/FileIndentOptionsProvider.java
index bc4d6cf63065..3003d23e4f06 100644
--- a/platform/lang-api/src/com/intellij/psi/codeStyle/FileIndentOptionsProvider.java
+++ b/platform/lang-api/src/com/intellij/psi/codeStyle/FileIndentOptionsProvider.java
@@ -22,6 +22,8 @@ import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import javax.swing.*;
+
/**
* @author Rustam Vishnyakov
*/
@@ -54,6 +56,14 @@ public abstract class FileIndentOptionsProvider {
return null;
}
+ /**
+ * @return The icon to be displayed in a notification message, can be null (no icon).
+ */
+ @Nullable
+ public Icon getIcon() {
+ return null;
+ }
+
/**
* @return True if the provider can be disabled (default is false).
*/
diff --git a/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/DetectedIndentOptionsNotificationProvider.java b/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/DetectedIndentOptionsNotificationProvider.java
index 9514d4c3bb8b..1a9f18571ae3 100644
--- a/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/DetectedIndentOptionsNotificationProvider.java
+++ b/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/DetectedIndentOptionsNotificationProvider.java
@@ -80,6 +80,9 @@ public class DetectedIndentOptionsNotificationProvider extends EditorNotificatio
final EditorNotificationPanel panel =
new EditorNotificationPanel()
.text(ApplicationBundle.message("code.style.indents.detector.message", provider.getDisplayName()));
+ if (provider.getIcon() != null) {
+ panel.icon(provider.getIcon());
+ }
panel.createActionLabel(
ApplicationBundle.message("code.style.indents.detector.accept"),
new Runnable() {
diff --git a/platform/platform-impl/src/com/intellij/ui/BalloonImpl.java b/platform/platform-impl/src/com/intellij/ui/BalloonImpl.java
index 2ce4252445a7..c178bbd99ab5 100644
--- a/platform/platform-impl/src/com/intellij/ui/BalloonImpl.java
+++ b/platform/platform-impl/src/com/intellij/ui/BalloonImpl.java
@@ -195,6 +195,7 @@ public class BalloonImpl implements Balloon, IdeTooltip.Ui {
@Override
public boolean isInside(@NotNull RelativePoint target) {
+ if (myComp == null) return false;
Component cmp = target.getOriginalComponent();
if (!cmp.isShowing()) return true;
diff --git a/platform/platform-impl/src/org/jetbrains/io/JsonUtil.java b/platform/platform-impl/src/org/jetbrains/io/JsonUtil.java
index ebc46a882d57..04f5e1406d01 100644
--- a/platform/platform-impl/src/org/jetbrains/io/JsonUtil.java
+++ b/platform/platform-impl/src/org/jetbrains/io/JsonUtil.java
@@ -1,5 +1,6 @@
package org.jetbrains.io;
+import com.intellij.util.ArrayUtil;
import com.intellij.util.SmartList;
import gnu.trove.THashMap;
import org.jetbrains.annotations.NotNull;
@@ -76,7 +77,7 @@ public class JsonUtil {
public static Object[] nextArray(JsonReaderEx reader) {
List