diff --git a/platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java b/platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java index 4f2fe46b7dc9..bac709b9a1e1 100644 --- a/platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java +++ b/platform/util/src/com/intellij/util/messages/impl/MessageBusConnectionImpl.java @@ -139,7 +139,10 @@ public class MessageBusConnectionImpl implements MessageBusConnection { } boolean containsMessage(@NotNull Topic topic) { - for (Message message : myPendingMessages.get()) { + Queue pendingMessages = myPendingMessages.get(); + if (pendingMessages.isEmpty()) return false; + + for (Message message : pendingMessages) { if (message.getTopic() == topic) { return true; } diff --git a/platform/util/src/com/intellij/util/messages/impl/MessageBusImpl.java b/platform/util/src/com/intellij/util/messages/impl/MessageBusImpl.java index 87d12d493727..11e760a4c70f 100644 --- a/platform/util/src/com/intellij/util/messages/impl/MessageBusImpl.java +++ b/platform/util/src/com/intellij/util/messages/impl/MessageBusImpl.java @@ -301,7 +301,8 @@ public class MessageBusImpl implements MessageBus { } private boolean isDispatchingAnything() { - return getRootBus().myWaitingBuses.get() != null; + SortedMap waitingBuses = getRootBus().myWaitingBuses.get(); + return waitingBuses != null && !waitingBuses.isEmpty(); } private void checkNotDisposed() {