IDEA-168864 Run Configuration - dirty state is not changed after adding any action to Before launch section

This commit is contained in:
Vassiliy.Kudryashov
2017-03-01 18:29:21 +03:00
parent ca23ee2ef6
commit f33a0b2d18
@@ -34,18 +34,21 @@ abstract class BaseRCSettingsConfigurable extends SettingsEditorConfigurable<Run
@Override
public boolean isModified() {
try {
RunnerAndConfigurationSettings original = getSettings();
RunnerAndConfigurationSettings snapshot = getEditor().getSnapshot();
RunnerAndConfigurationSettings original = getSettings();
RunnerAndConfigurationSettings snapshot = getEditor().getSnapshot();
final RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(original.getConfiguration().getProject());
if (runManager.findExistingConfigurationId(original) == null) return true;
if (!super.isModified()) return false;
final RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(original.getConfiguration().getProject());
if (runManager.findExistingConfigurationId(original) == null) return true;
if (!super.isModified()) return false;
if (!original.isTemplate() && runManager.findExistingConfigurationId(original) == null) {
return true;
}
if (isSnapshotSpecificallyModified(runManager, original, snapshot)) {
return true;
}
if (!runManager.getBeforeRunTasks(original.getConfiguration()).equals(runManager.getBeforeRunTasks(snapshot.getConfiguration()))) {
return true;
}
if (original instanceof JDOMExternalizable && snapshot instanceof JDOMExternalizable) {
applySnapshotToComparison(original, snapshot);