aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/EditView.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/EditView.cxx')
-rw-r--r--src/EditView.cxx9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx
index 9d8b6117b..023930c0a 100644
--- a/src/EditView.cxx
+++ b/src/EditView.cxx
@@ -1458,18 +1458,17 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt
const bool caretVisibleState = additionalCaretsVisible || mainCaret;
if ((xposCaret >= 0) && vsDraw.IsCaretVisible() &&
(drawDrag || (caretBlinkState && caretVisibleState))) {
- bool caretAtEOF = false;
- bool caretAtEOL = false;
+ bool canDrawBlockCaret = true;
bool drawBlockCaret = false;
XYPOSITION widthOverstrikeCaret;
XYPOSITION caretWidthOffset = 0;
PRectangle rcCaret = rcLine;
if (posCaret.Position() == model.pdoc->Length()) { // At end of document
- caretAtEOF = true;
+ canDrawBlockCaret = false;
widthOverstrikeCaret = vsDraw.aveCharWidth;
} else if ((posCaret.Position() - posLineStart) >= ll->numCharsInLine) { // At end of line
- caretAtEOL = true;
+ canDrawBlockCaret = false;
widthOverstrikeCaret = vsDraw.aveCharWidth;
} else {
const int widthChar = model.pdoc->LenChar(posCaret.Position());
@@ -1494,7 +1493,7 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt
} else if ((caretShape == ViewStyle::CaretShape::block) || imeCaretBlockOverride) {
/* Block caret */
rcCaret.left = xposCaret;
- if (!caretAtEOL && !caretAtEOF && (ll->chars[offset] != '\t') && !(IsControlCharacter(ll->chars[offset]))) {
+ if (canDrawBlockCaret && !(IsControlCharacter(ll->chars[offset]))) {
drawBlockCaret = true;
rcCaret.right = xposCaret + widthOverstrikeCaret;
} else {