From e5b4bdcebb2a48095eac5126975d198f5f2f89fa Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 9 Oct 2019 14:40:35 +0200 Subject: [PATCH] Ensure that access to myMetaData is synchronized (IDEA-CR-53297) GitOrigin-RevId: 6da9dc892798824309e8215dcffa99fd8b4f1303 --- .../intention/impl/config/IntentionManagerSettings.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerSettings.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerSettings.java index a6409acd5ed1..9f2aa2a113c8 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerSettings.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionManagerSettings.java @@ -61,8 +61,8 @@ public final class IntentionManagerSettings implements PersistentStateComponent< String[] categories = extension.getCategories(); if (categories == null) return; String familyName = extension.getInstance().getFamilyName(); - myMetaData.remove(new MetaDataKey(categories, familyName)); - } + unregisterMetaData(categories, familyName); + } }, true, this); } @@ -210,4 +210,8 @@ public final class IntentionManagerSettings implements PersistentStateComponent< } } } + + private synchronized void unregisterMetaData(String[] categories, String familyName) { + myMetaData.remove(new MetaDataKey(categories, familyName)); + } }