From 409df784b1283affe828cbfe527aaf3d1ab60151 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Tue, 5 Aug 2014 16:33:59 +0400 Subject: [PATCH] IDEA-127730 fix repaint of stripe marker --- .../openapi/editor/impl/EditorMarkupModelImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java index e276fe2cd4da..6ec29e58dc0b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java @@ -954,13 +954,15 @@ public class EditorMarkupModelImpl extends MarkupModelImpl implements EditorMark } public void markDirtied(@NotNull ProperTextRange yPositions) { - int start = Math.max(0, yPositions.getStartOffset() - myEditor.getLineHeight()); - int end = myEditorScrollbarTop + myEditorTargetHeight == 0 ? yPositions.getEndOffset() + myEditor.getLineHeight() - : Math - .min(myEditorScrollbarTop + myEditorTargetHeight, yPositions.getEndOffset() + myEditor.getLineHeight()); - ProperTextRange adj = new ProperTextRange(start, Math.max(end, start)); + if (myDirtyYPositions != WHOLE_DOCUMENT) { + int start = Math.max(0, yPositions.getStartOffset() - myEditor.getLineHeight()); + int end = myEditorScrollbarTop + myEditorTargetHeight == 0 ? yPositions.getEndOffset() + myEditor.getLineHeight() + : Math + .min(myEditorScrollbarTop + myEditorTargetHeight, yPositions.getEndOffset() + myEditor.getLineHeight()); + ProperTextRange adj = new ProperTextRange(start, Math.max(end, start)); - myDirtyYPositions = myDirtyYPositions == null ? adj : myDirtyYPositions.union(adj); + myDirtyYPositions = myDirtyYPositions == null ? adj : myDirtyYPositions.union(adj); + } myEditorScrollbarTop = 0; myEditorSourceHeight = 0;