From 4f4a05514ed41887cc5a0093662890b27cdae679 Mon Sep 17 00:00:00 2001 From: Konstantin Nisht Date: Mon, 6 Oct 2025 14:28:39 +0200 Subject: [PATCH] [threading] IJPL-177735: Remove write-intent lock in more event dispatchers GitOrigin-RevId: bdd2c067cfb2e0f78b3bff84f5484f197ee472c0 --- .../impl/ModifierKeyDoubleClickHandler.java | 17 ++++++++--------- .../internal/inspector/UiMouseAction.kt | 8 ++++++-- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler.java index 50c28776d04f..fe933a5c8ba3 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ModifierKeyDoubleClickHandler.java @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.openapi.keymap.impl; import com.intellij.codeWithMe.ClientId; @@ -103,15 +103,14 @@ public final class ModifierKeyDoubleClickHandler { if (dispatchers.isEmpty()) { return false; } - return WriteIntentReadAction.compute(() -> { - boolean innerResult = false; - for (MyDispatcher dispatcher : doubleClickHandler.myDispatchers.values()) { - if (dispatcher.dispatch(keyEvent)) { - innerResult = true; - } + + boolean innerResult = false; + for (MyDispatcher dispatcher : doubleClickHandler.myDispatchers.values()) { + if (dispatcher.dispatch(keyEvent)) { + innerResult = true; } - return innerResult; - }); + } + return innerResult; } } diff --git a/platform/platform-impl/ui-inspector/src/com/intellij/internal/inspector/UiMouseAction.kt b/platform/platform-impl/ui-inspector/src/com/intellij/internal/inspector/UiMouseAction.kt index 4cce1f62d3e5..6d781953ac43 100644 --- a/platform/platform-impl/ui-inspector/src/com/intellij/internal/inspector/UiMouseAction.kt +++ b/platform/platform-impl/ui-inspector/src/com/intellij/internal/inspector/UiMouseAction.kt @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.internal.inspector import com.intellij.ide.IdeEventQueue @@ -41,7 +41,11 @@ abstract class UiMouseAction(val uiActionId: String) : DumbAwareAction() { } }) - IdeEventQueue.getInstance().addDispatcher(::handleEvent, ApplicationManager.getApplication()) + IdeEventQueue.getInstance().addDispatcher(object : IdeEventQueue.NonLockedEventDispatcher { + override fun dispatch(e: AWTEvent): Boolean { + return handleEvent(e) + } + }, ApplicationManager.getApplication()) } private fun handleEvent(event: AWTEvent): Boolean {