From 00f3665c1c98f380143e4a13af8fbafe8e95b3ee Mon Sep 17 00:00:00 2001 From: Le Tan Date: Fri, 1 Dec 2017 23:24:40 +0800 Subject: [PATCH] VTextDocumentLayout: fix hitTest() in cursor block mode --- src/vmdeditor.cpp | 2 +- src/vtextdocumentlayout.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vmdeditor.cpp b/src/vmdeditor.cpp index 29e4ef6f..a2b61db5 100644 --- a/src/vmdeditor.cpp +++ b/src/vmdeditor.cpp @@ -311,7 +311,7 @@ void VMdEditor::mouseReleaseEvent(QMouseEvent *p_event) return; } - VTextEdit::mousePressEvent(p_event); + VTextEdit::mouseReleaseEvent(p_event); } void VMdEditor::mouseMoveEvent(QMouseEvent *p_event) diff --git a/src/vtextdocumentlayout.cpp b/src/vtextdocumentlayout.cpp index 47dd8e3c..4c4d5fde 100644 --- a/src/vtextdocumentlayout.cpp +++ b/src/vtextdocumentlayout.cpp @@ -353,6 +353,12 @@ int VTextDocumentLayout::hitTest(const QPointF &p_point, Qt::HitTestAccuracy p_a } } + if (m_cursorBlockMode + && off == block.length() - 1 + && off != 0) { + --off; + } + return block.position() + off; }