diff --git a/platform/platform-api/src/com/intellij/openapi/ui/popup/PopupChooserBuilder.java b/platform/platform-api/src/com/intellij/openapi/ui/popup/PopupChooserBuilder.java index a149e0690296..6681c4d5f7e9 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/popup/PopupChooserBuilder.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/popup/PopupChooserBuilder.java @@ -1,7 +1,8 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.openapi.ui.popup; import com.intellij.openapi.application.AccessToken; +import com.intellij.openapi.application.WriteIntentReadAction; import com.intellij.openapi.ui.GenericListComponentUpdater; import com.intellij.openapi.ui.popup.util.PopupUtil; import com.intellij.openapi.util.Computable; @@ -203,7 +204,7 @@ public class PopupChooserBuilder implements IPopupChooserBuilder { public PopupChooserBuilder setItemChosenCallback(@NotNull Runnable runnable) { myItemChosenRunnable = () -> { try (AccessToken ignore = SlowOperations.startSection(SlowOperations.ACTION_PERFORM)) { - runnable.run(); + WriteIntentReadAction.run(runnable); } }; return this; diff --git a/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java b/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java index f38470642627..d067af6875f8 100644 --- a/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java +++ b/platform/platform-impl/src/com/intellij/ui/popup/AbstractPopup.java @@ -1,4 +1,4 @@ -// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.ui.popup; import com.google.common.base.Predicate; @@ -21,6 +21,7 @@ import com.intellij.openapi.actionSystem.impl.AutoPopupSupportingListener; import com.intellij.openapi.actionSystem.impl.Utils; import com.intellij.openapi.application.AccessToken; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.WriteIntentReadAction; import com.intellij.openapi.application.impl.LaterInvocator; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; @@ -2081,7 +2082,7 @@ public class AbstractPopup implements JBPopup, ScreenAreaConsumer, AlignedPopup Runnable finalRunnable = myFinalRunnable; getFocusManager().doWhenFocusSettlesDown(() -> { try (AccessToken ignore = SlowOperations.startSection(SlowOperations.ACTION_PERFORM)) { - finalRunnable.run(); + WriteIntentReadAction.run(finalRunnable); } }); myFinalRunnable = null;