IDEA-130734 EditorImpl.updateGutterSize() may not lead to myGutterComponent.updateSize()

This commit is contained in:
Alexey Kudravtsev
2014-10-02 14:52:03 +04:00
parent 16d48abb06
commit b9e8c2e85d
@@ -33,7 +33,6 @@ import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
import com.intellij.openapi.actionSystem.impl.MouseGestureManager;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.application.impl.LaterInvocator;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.command.UndoConfirmationPolicy;
import com.intellij.openapi.diagnostic.Logger;
@@ -1786,22 +1785,24 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
return StringUtil.countNewLines(c);
}
private boolean updatingSize;
private boolean updatingSize; // accessed from EDT only
private void updateGutterSize() {
assertIsDispatchThread();
if (!updatingSize) {
updatingSize = true;
LaterInvocator.invokeLater(new Runnable() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
myGutterComponent.updateSize();
if (!isDisposed()) {
myGutterComponent.updateSize();
}
}
finally {
updatingSize = false;
}
}
}, ApplicationManager.getApplication().getDisposed());
});
}
}