diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/Breakpoint.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/Breakpoint.java
index 77bd26a0f2a6..debb0ad456ed 100644
--- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/Breakpoint.java
+++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/Breakpoint.java
@@ -27,6 +27,7 @@ import com.intellij.debugger.statistics.DebuggerStatistics;
import com.intellij.debugger.ui.impl.watch.CompilingEvaluatorImpl;
import com.intellij.debugger.ui.overhead.OverheadProducer;
import com.intellij.icons.AllIcons;
+import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.project.IndexNotReadyException;
@@ -43,6 +44,7 @@ import com.intellij.ui.AppUIUtil;
import com.intellij.ui.SimpleColoredComponent;
import com.intellij.ui.classFilter.ClassFilter;
import com.intellij.util.ObjectUtils;
+import com.intellij.util.SlowOperations;
import com.intellij.util.ThreeState;
import com.intellij.util.concurrency.AppExecutorUtil;
import com.intellij.util.containers.ContainerUtil;
@@ -150,11 +152,15 @@ public abstract class Breakpoint
implements
public void customizeRenderer(SimpleColoredComponent renderer) {
if (myXBreakpoint != null) {
renderer.setIcon(myXBreakpoint.getType().getEnabledIcon());
- renderer.append(XBreakpointUtil.getShortText(myXBreakpoint));
+ try (AccessToken ignore = SlowOperations.knownIssue("IJPL-162794")) {
+ renderer.append(XBreakpointUtil.getShortText(myXBreakpoint));
+ }
}
else {
renderer.setIcon(AllIcons.Debugger.Db_set_breakpoint);
- renderer.append(getDisplayName());
+ try (AccessToken ignore = SlowOperations.knownIssue("IJPL-162794")) {
+ renderer.append(getDisplayName());
+ }
}
}
diff --git a/platform/execution-impl/src/com/intellij/execution/impl/ExecutionManagerImpl.kt b/platform/execution-impl/src/com/intellij/execution/impl/ExecutionManagerImpl.kt
index fb8bbc455c7e..bf6fe4f8134e 100644
--- a/platform/execution-impl/src/com/intellij/execution/impl/ExecutionManagerImpl.kt
+++ b/platform/execution-impl/src/com/intellij/execution/impl/ExecutionManagerImpl.kt
@@ -60,6 +60,7 @@ import com.intellij.ui.UIBundle
import com.intellij.ui.content.ContentManager
import com.intellij.ui.content.impl.ContentImpl
import com.intellij.util.Alarm
+import com.intellij.util.SlowOperations
import com.intellij.util.SmartList
import com.intellij.util.concurrency.AppExecutorUtil
import com.intellij.util.containers.ContainerUtil
@@ -71,7 +72,6 @@ import org.jetbrains.concurrency.Promise
import org.jetbrains.concurrency.resolvedPromise
import java.awt.BorderLayout
import java.io.OutputStream
-import java.lang.Runnable
import java.util.*
import java.util.concurrent.Callable
import java.util.concurrent.atomic.AtomicBoolean
@@ -224,7 +224,9 @@ open class ExecutionManagerImpl(private val project: Project, coroutineScope: Co
override fun startRunProfile(environment: ExecutionEnvironment, starter: () -> Promise) {
doStartRunProfile(environment) {
// errors are handled by startRunProfile
- starter()
+ SlowOperations.knownIssue("IJPL-162793").use {
+ starter()
+ }
.then { descriptor ->
if (descriptor != null) {
descriptor.executionId = environment.executionId
@@ -622,7 +624,9 @@ open class ExecutionManagerImpl(private val project: Project, coroutineScope: Co
}
val settings = environment.runnerAndConfigurationSettings
- executeConfiguration(environment, settings != null && settings.isEditBeforeRun)
+ SlowOperations.knownIssue("IJPL-162789").use {
+ executeConfiguration(environment, settings != null && settings.isEditBeforeRun)
+ }
}
}
}, 50)
diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ui/QuickFixPreviewPanelFactory.java b/platform/lang-impl/src/com/intellij/codeInspection/ui/QuickFixPreviewPanelFactory.java
index 2c362f4c91eb..5380d24e5010 100644
--- a/platform/lang-impl/src/com/intellij/codeInspection/ui/QuickFixPreviewPanelFactory.java
+++ b/platform/lang-impl/src/com/intellij/codeInspection/ui/QuickFixPreviewPanelFactory.java
@@ -12,10 +12,12 @@ import com.intellij.lang.LangBundle;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.actionSystem.ex.ComboBoxAction;
+import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.Disposer;
import com.intellij.ui.SimpleColoredComponent;
+import com.intellij.util.SlowOperations;
import com.intellij.util.ui.AsyncProcessIcon;
import com.intellij.util.ui.JBUI;
import org.jetbrains.annotations.NotNull;
@@ -61,7 +63,9 @@ public final class QuickFixPreviewPanelFactory {
if (multipleDescriptors && commonFixes.length == 0) {
partialFixes = view.getProvider().getPartialQuickFixes(myWrapper, tree, tree.getSelectedDescriptors());
}
- myEmpty = fillPanel(commonFixes, partialFixes, multipleDescriptors, view);
+ try (AccessToken ignore = SlowOperations.knownIssue("IJPL-162775")) {
+ myEmpty = fillPanel(commonFixes, partialFixes, multipleDescriptors, view);
+ }
}
public boolean isEmpty() {
diff --git a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyHandler.java b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyHandler.java
index 91543d1bd7cc..80b3ba14eb1b 100644
--- a/platform/lang-impl/src/com/intellij/refactoring/copy/CopyHandler.java
+++ b/platform/lang-impl/src/com/intellij/refactoring/copy/CopyHandler.java
@@ -5,6 +5,7 @@ package com.intellij.refactoring.copy;
import com.intellij.ide.TwoPaneIdeView;
import com.intellij.ide.projectView.ProjectView;
import com.intellij.ide.structureView.StructureViewFactoryEx;
+import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.fileEditor.FileEditor;
import com.intellij.openapi.fileEditor.FileEditorManager;
import com.intellij.openapi.project.DumbModeBlockedFunctionality;
@@ -20,6 +21,7 @@ import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiElement;
import com.intellij.refactoring.RefactoringBundle;
import com.intellij.ui.content.Content;
+import com.intellij.util.SlowOperations;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -60,7 +62,9 @@ public final class CopyHandler {
return;
}
//todo warn that something can be broken https://youtrack.jetbrains.com/issue/IJPL-402
- delegate.doCopy(elements, defaultTargetDirectory);
+ try (AccessToken ignore = SlowOperations.startSection(SlowOperations.ACTION_PERFORM)) {
+ delegate.doCopy(elements, defaultTargetDirectory);
+ }
break;
}
}
diff --git a/platform/platform-api/src/com/intellij/openapi/ui/ComponentWithBrowseButton.java b/platform/platform-api/src/com/intellij/openapi/ui/ComponentWithBrowseButton.java
index 770b95a894a1..cdec49c4fec1 100644
--- a/platform/platform-api/src/com/intellij/openapi/ui/ComponentWithBrowseButton.java
+++ b/platform/platform-api/src/com/intellij/openapi/ui/ComponentWithBrowseButton.java
@@ -8,6 +8,7 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.CustomShortcutSet;
import com.intellij.openapi.actionSystem.ShortcutSet;
+import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
@@ -27,6 +28,7 @@ import com.intellij.ui.dsl.builder.DslComponentProperty;
import com.intellij.ui.dsl.builder.VerticalComponentGap;
import com.intellij.ui.dsl.gridLayout.UnscaledGaps;
import com.intellij.ui.dsl.gridLayout.UnscaledGapsKt;
+import com.intellij.util.SlowOperations;
import com.intellij.util.ui.StartupUiUtil;
import com.intellij.util.ui.UIUtil;
import com.intellij.util.ui.accessibility.ScreenReader;
@@ -126,7 +128,11 @@ public class ComponentWithBrowseButton extends JPanel i
private void notifyActionListeners() {
ActionEvent event = new ActionEvent(myComponent, ActionEvent.ACTION_PERFORMED, "action");
- for (ActionListener listener: myBrowseButton.getActionListeners()) listener.actionPerformed(event);
+ for (ActionListener listener: myBrowseButton.getActionListeners()) {
+ try (AccessToken ignore = SlowOperations.startSection(SlowOperations.ACTION_PERFORM)) {
+ listener.actionPerformed(event);
+ }
+ }
}
public final @NotNull Comp getChildComponent() {
diff --git a/platform/platform-api/src/com/intellij/util/EditSourceOnEnterKeyHandler.java b/platform/platform-api/src/com/intellij/util/EditSourceOnEnterKeyHandler.java
index 31b8fa772355..0bf9928c0c6d 100644
--- a/platform/platform-api/src/com/intellij/util/EditSourceOnEnterKeyHandler.java
+++ b/platform/platform-api/src/com/intellij/util/EditSourceOnEnterKeyHandler.java
@@ -6,6 +6,7 @@ import com.intellij.openapi.actionSystem.CommonDataKeys;
import com.intellij.openapi.actionSystem.DataContext;
import com.intellij.openapi.actionSystem.IdeActions;
import com.intellij.openapi.actionSystem.KeyboardShortcut;
+import com.intellij.openapi.application.AccessToken;
import com.intellij.openapi.keymap.KeymapManager;
import com.intellij.openapi.options.advanced.AdvancedSettings;
import com.intellij.openapi.util.registry.Registry;
@@ -88,7 +89,9 @@ public final class EditSourceOnEnterKeyHandler {
if (!action.getAsBoolean() && listener != null) {
// perform previous action if the specified action is failed,
// it is needed to expand/collapse a tree node
- listener.actionPerformed(event);
+ try (AccessToken ignored = SlowOperations.startSection(SlowOperations.ACTION_PERFORM)) {
+ listener.actionPerformed(event);
+ }
}
}, ENTER, JComponent.WHEN_FOCUSED);
}
diff --git a/plugins/markdown/core/src/org/intellij/plugins/markdown/editor/tables/ui/presentation/VerticalBarPresentation.kt b/plugins/markdown/core/src/org/intellij/plugins/markdown/editor/tables/ui/presentation/VerticalBarPresentation.kt
index 4e06ccffc3d9..d31ca3721e1c 100644
--- a/plugins/markdown/core/src/org/intellij/plugins/markdown/editor/tables/ui/presentation/VerticalBarPresentation.kt
+++ b/plugins/markdown/core/src/org/intellij/plugins/markdown/editor/tables/ui/presentation/VerticalBarPresentation.kt
@@ -21,6 +21,7 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.util.siblings
import com.intellij.psi.util.startOffset
import com.intellij.ui.LightweightHint
+import com.intellij.util.SlowOperations
import com.intellij.util.ui.GraphicsUtil
import org.intellij.plugins.markdown.editor.tables.TableFormattingUtils.isSoftWrapping
import org.intellij.plugins.markdown.editor.tables.TableUtils
@@ -67,9 +68,14 @@ internal class VerticalBarPresentation(
}
private fun shouldShowInlay(): Boolean {
- if (!row.isValid || editor.isDisposed) {
+ if (editor.isDisposed) {
return false
}
+ SlowOperations.knownIssue("IJPL-162791").use {
+ if (!row.isValid) {
+ return false
+ }
+ }
val table = TableUtils.findTable(row) ?: return false
return !table.isSoftWrapping(editor)
}
@@ -99,9 +105,14 @@ internal class VerticalBarPresentation(
}
override fun paint(graphics: Graphics2D, attributes: TextAttributes) {
- if (!row.isValid || editor.isDisposed || boundsState == initialState) {
+ if (editor.isDisposed || boundsState == initialState) {
return
}
+ SlowOperations.knownIssue("IJPL-162800").use {
+ if (!row.isValid) {
+ return
+ }
+ }
graphics.useCopy { local ->
GraphicsUtil.setupAntialiasing(local)
GraphicsUtil.setupRoundedBorderAntialiasing(local)