From def01d471c3afe7eecfc2c15c2424380ddf52705 Mon Sep 17 00:00:00 2001 From: Evgenii Zakharchenko Date: Mon, 15 Jul 2024 10:23:05 +0200 Subject: [PATCH] [spring] IDEA-355446 Spring beans auto-injection by completion doesn't work on client GitOrigin-RevId: c829d3a484cbc4382da9fb0c467cfdf3e65a9243 --- .../intellij/codeInsight/hint/ParameterInfoTaskRunnerUtil.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoTaskRunnerUtil.java b/platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoTaskRunnerUtil.java index 8edb647bc3da..3a253195ecde 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoTaskRunnerUtil.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoTaskRunnerUtil.java @@ -79,10 +79,13 @@ public final class ParameterInfoTaskRunnerUtil { nonBlockingReadAction.finishOnUiThread( ModalityState.defaultModalityState(), continuation -> { + CancellablePromise promise = cancellablePromiseRef.get(); + if (promise != null && promise.isSucceeded()) { Component owner = getFocusOwner(project); if (Objects.equals(focusOwner, owner) || owner instanceof ParameterInfoController.WrapperPanel) { continuationConsumer.accept(continuation); } + } }) .expireWith(editor instanceof EditorImpl ? ((EditorImpl) editor).getDisposable() : project) .submit(AppExecutorUtil.getAppExecutorService())