diff --git a/platform/platform-impl/src/com/intellij/openapi/options/SchemesManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/options/SchemesManagerImpl.java index beb2a87ff11a..deab5db8adca 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/SchemesManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/SchemesManagerImpl.java @@ -561,20 +561,19 @@ public class SchemesManagerImpl() { - @Override - public Object compute() throws IOException { - OutputStream out = finalFile.getOutputStream(this); - try { - byteOut.writeTo(out); - } - finally { - out.close(); - } - return null; + AccessToken token = ApplicationManager.getApplication().acquireWriteActionLock(DocumentRunnable.IgnoreDocumentRunnable.class); + try { + OutputStream out = file.getOutputStream(this); + try { + byteOut.writeTo(out); } - }); + finally { + out.close(); + } + } + finally { + token.finish(); + } } else if (renamed) { myFilesToDelete.add(currentFileNameWithoutExtension);