diff --git a/platform/platform-api/src/com/intellij/notification/Notification.java b/platform/platform-api/src/com/intellij/notification/Notification.java index 91c23432ba70..b264b20d1c3c 100644 --- a/platform/platform-api/src/com/intellij/notification/Notification.java +++ b/platform/platform-api/src/com/intellij/notification/Notification.java @@ -97,6 +97,11 @@ public class Notification { public void expire() { NotificationsManager.getNotificationsManager().expire(this); + hideBalloon(); + myExpired = true; + } + + public void hideBalloon() { if (myBalloonRef != null) { final Balloon balloon = myBalloonRef.get(); if (balloon != null) { @@ -104,7 +109,6 @@ public class Notification { } myBalloonRef = null; } - myExpired = true; } public void setBalloon(@Nullable final Balloon balloon) { diff --git a/platform/platform-impl/src/com/intellij/notification/EventLog.java b/platform/platform-impl/src/com/intellij/notification/EventLog.java index 2d1e660c2c6d..79d6ad266bea 100644 --- a/platform/platform-impl/src/com/intellij/notification/EventLog.java +++ b/platform/platform-impl/src/com/intellij/notification/EventLog.java @@ -415,6 +415,8 @@ public class EventLog implements Notifications { Balloon balloon = NotificationsManagerImpl.createBalloon(myNotification, true, true); Disposer.register(project, balloon); balloon.show(target, Balloon.Position.above); + myNotification.hideBalloon(); + myNotification.setBalloon(balloon); } }