diff --git a/platform/core-api/src/com/intellij/openapi/vfs/VirtualFile.java b/platform/core-api/src/com/intellij/openapi/vfs/VirtualFile.java index 9d02d2052db4..a0c23b19fbac 100644 --- a/platform/core-api/src/com/intellij/openapi/vfs/VirtualFile.java +++ b/platform/core-api/src/com/intellij/openapi/vfs/VirtualFile.java @@ -486,6 +486,10 @@ public abstract class VirtualFile extends UserDataHolderBase implements Modifica } public void setCharset(final Charset charset) { + setCharset(charset, null); + } + + public void setCharset(final Charset charset, @Nullable Runnable whenChanged) { final Charset old = getUserData(CHARSET_KEY); putUserData(CHARSET_KEY, charset); if (Comparing.equal(charset, old)) return; @@ -497,6 +501,7 @@ public abstract class VirtualFile extends UserDataHolderBase implements Modifica setBOM(bom); if (old != null) { //do not send on detect + if (whenChanged != null) whenChanged.run(); VirtualFileManager.getInstance().notifyPropertyChanged(this, PROP_ENCODING, old, charset); } }