diff --git a/java/java-tests/testSrc/com/intellij/codeInspection/ex/InspectionProfileTest.java b/java/java-tests/testSrc/com/intellij/codeInspection/ex/InspectionProfileTest.java index 2f2c7a10dc08..c46634f358b4 100644 --- a/java/java-tests/testSrc/com/intellij/codeInspection/ex/InspectionProfileTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInspection/ex/InspectionProfileTest.java @@ -107,6 +107,16 @@ public class InspectionProfileTest extends LightIdeaTestCase { return new InspectionProfileImpl(PROFILE, InspectionToolRegistrar.getInstance(), base); } + public void testModificationWithoutModification() { + InspectionProfileImpl profile = createProfile(); + profile.getAllTools(); + assertTrue(profile.wasInitialized()); + assertNotEmpty(profile.myTools.keySet()); + profile.modifyProfile(m -> {}); + assertTrue(profile.wasInitialized()); + assertNotEmpty(profile.myTools.keySet()); + } + public void testSameNameSharedProfile() { BaseInspectionProfileManager profileManager = getApplicationProfileManager(); InspectionProfileImpl localProfile = createProfile(); diff --git a/platform/analysis-impl/src/com/intellij/codeInspection/ex/InspectionProfileModifiableModel.kt b/platform/analysis-impl/src/com/intellij/codeInspection/ex/InspectionProfileModifiableModel.kt index 5562199df378..743a6a8ed950 100644 --- a/platform/analysis-impl/src/com/intellij/codeInspection/ex/InspectionProfileModifiableModel.kt +++ b/platform/analysis-impl/src/com/intellij/codeInspection/ex/InspectionProfileModifiableModel.kt @@ -113,8 +113,10 @@ open class InspectionProfileModifiableModel(val source: InspectionProfileImpl) : description = model.description isProjectLevel = model.isProjectLevel myLockedProfile = model.myLockedProfile - myChangedToolNames = model.myChangedToolNames - myTools = model.myTools + myChangedToolNames = null + if (model.wasInitialized()) { + myTools = model.myTools + } profileManager = model.profileManager }