diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java b/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java index 77e919369aad..414a9742ab9c 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java @@ -1249,6 +1249,7 @@ public class CodeStyleSettings extends CommonCodeStyleSettings public boolean equals(Object obj) { if (!(obj instanceof CodeStyleSettings)) return false; if (!ReflectionUtil.comparePublicNonFinalFields(this, obj)) return false; + if (!mySoftMargins.equals(((CodeStyleSettings)obj).mySoftMargins)) return false; if (!OTHER_INDENT_OPTIONS.equals(((CodeStyleSettings)obj).OTHER_INDENT_OPTIONS)) return false; if (!myCommonSettingsManager.equals(((CodeStyleSettings)obj).myCommonSettingsManager)) return false; for (CustomCodeStyleSettings customSettings : myCustomSettings.values()) { diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java b/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java index 4a902ebe8757..814b5d61c802 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/CommonCodeStyleSettings.java @@ -1062,6 +1062,7 @@ public class CommonCodeStyleSettings { if (obj instanceof CommonCodeStyleSettings) { if ( ReflectionUtil.comparePublicNonFinalFields(this, obj) && + mySoftMargins.equals(((CommonCodeStyleSettings)obj).mySoftMargins) && myIndentOptions.equals(((CommonCodeStyleSettings)obj).getIndentOptions()) && arrangementSettingsEqual((CommonCodeStyleSettings)obj) ) { diff --git a/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleSchemesModelTest.java b/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleSchemesModelTest.java index 81553ad820e7..ced7e50a3e6a 100644 --- a/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleSchemesModelTest.java +++ b/platform/platform-tests/testSrc/com/intellij/ide/codeStyleSettings/CodeStyleSchemesModelTest.java @@ -21,6 +21,7 @@ import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; import com.intellij.psi.impl.source.codeStyle.CodeStyleSchemeImpl; +import java.util.Arrays; import java.util.List; public class CodeStyleSchemesModelTest extends CodeStyleTestCase { @@ -101,6 +102,16 @@ public class CodeStyleSchemesModelTest extends CodeStyleTestCase { assertFalse(myModel.differsFromDefault(scheme)); } + public void testVisualGuidesDifferFromDefault() { + CodeStyleScheme scheme = myModel.getSelectedScheme(); + CodeStyleSettings settings = myModel.getCloneSettings(scheme); + assertFalse(myModel.differsFromDefault(scheme)); + settings.setDefaultSoftMargins(Arrays.asList(100,150)); + assertTrue(myModel.differsFromDefault(scheme)); + myModel.reset(); + assertFalse(myModel.differsFromDefault(scheme)); + } + public void testListOrder() { CodeStyleScheme scheme1 = myModel.createNewScheme("New Scheme", myModel.getSelectedScheme()); CodeStyleScheme scheme2 = myModel.createNewScheme("Another Scheme", myModel.getSelectedScheme());