diff options
Diffstat (limited to 'src/EditView.cxx')
-rw-r--r-- | src/EditView.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/EditView.cxx b/src/EditView.cxx index 8a303faea..b0b87a9b1 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -1458,7 +1458,7 @@ void EditView::DrawEOLAnnotationText(Surface *surface, const EditModel &model, c } } - // For multi-phase drawing draw the text last as transparent over any box + // For multi-phase drawing draw the text last as transparent over any box if (FlagSet(phase, DrawPhase::text)) { if (phasesDraw != PhasesDraw::One) { surface->DrawTextTransparentUTF8(rcText, fontText, @@ -1603,7 +1603,7 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt for (size_t r = 0; (r<model.sel.Count()) || drawDrag; r++) { const bool mainCaret = r == model.sel.Main(); SelectionPosition posCaret = (drawDrag ? model.posDrag : model.sel.Range(r).caret); - if ((vsDraw.DrawCaretInsideSelection(model.inOverstrike, imeCaretBlockOverride)) && + if ((vsDraw.DrawCaretInsideSelection(model.inOverstrike, imeCaretBlockOverride)) && !drawDrag && posCaret > model.sel.Range(r).anchor) { if (posCaret.VirtualSpace() > 0) |