From e19a43be9053a3112520bb110759ac12db31c2fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Du=C5=A1ek?= Date: Sun, 8 Feb 2015 23:34:07 +0100 Subject: [PATCH] Fix QAccessibleTextWidget::characterRect for complex lines Current implementation of QAccessibleTextWidget::characterRect returned rect with correct vertical position only when the font point size did not vary inside the line. This commit makes it work for lines where point size changes by taking text ascent and descent into account. Change-Id: I9684b4872566ddfa86dc7a2e9c803a1be0138000 Reviewed-by: Frederik Gladhorn --- src/widgets/accessible/qaccessiblewidgets.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index f283c0ea34..77958d65a5 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -672,7 +672,7 @@ QRect QAccessibleTextWidget::characterRect(int offset) const if (!ch.isEmpty()) { int w = fm.width(ch); int h = fm.height(); - r = QRect(layoutPosition.x() + x, layoutPosition.y() + line.y(), + r = QRect(layoutPosition.x() + x, layoutPosition.y() + line.y() + line.ascent() + fm.descent() - h, w, h); r.moveTo(viewport()->mapToGlobal(r.topLeft())); }