diff --git a/src/plugins/help/qlitehtml/container_qpainter.cpp b/src/plugins/help/qlitehtml/container_qpainter.cpp index 559fc0feded..bf98f3f08f9 100644 --- a/src/plugins/help/qlitehtml/container_qpainter.cpp +++ b/src/plugins/help/qlitehtml/container_qpainter.cpp @@ -998,8 +998,9 @@ QVector DocumentContainer::mouseMoveEvent(const QPoint &documentPos, viewportPos, m_selection.mode); if (element.element) { + redrawRects.append( + m_selection.boundingRect() /*.adjusted(-1, -1, +1, +1)*/); // redraw old selection area m_selection.endElem = element; - redrawRects.append(m_selection.boundingRect()); // redraw old selection area m_selection.update(); redrawRects.append(m_selection.boundingRect()); } diff --git a/src/plugins/help/qlitehtml/qlitehtmlwidget.cpp b/src/plugins/help/qlitehtml/qlitehtmlwidget.cpp index db8c16d5ac2..8f455413bc8 100644 --- a/src/plugins/help/qlitehtml/qlitehtmlwidget.cpp +++ b/src/plugins/help/qlitehtml/qlitehtmlwidget.cpp @@ -664,21 +664,11 @@ QPoint QLiteHtmlWidget::toVirtual(const QPoint &p) const return {int(p.x() / d->zoomFactor), int(p.y() / d->zoomFactor)}; } -QPoint QLiteHtmlWidget::fromVirtual(const QPoint &p) const -{ - return {int(p.x() * d->zoomFactor), int(p.y() * d->zoomFactor)}; -} - QSize QLiteHtmlWidget::toVirtual(const QSize &s) const { return {int(s.width() / d->zoomFactor), int(s.height() / d->zoomFactor)}; } -QSize QLiteHtmlWidget::fromVirtual(const QSize &s) const -{ - return {int(s.width() * d->zoomFactor + 0.5), int(s.height() * d->zoomFactor + 0.5)}; -} - QRect QLiteHtmlWidget::toVirtual(const QRect &r) const { return {toVirtual(r.topLeft()), toVirtual(r.size())}; @@ -686,5 +676,9 @@ QRect QLiteHtmlWidget::toVirtual(const QRect &r) const QRect QLiteHtmlWidget::fromVirtual(const QRect &r) const { - return {fromVirtual(r.topLeft()), fromVirtual(r.size())}; + const QPoint tl{int(r.x() * d->zoomFactor), int(r.y() * d->zoomFactor)}; + // round size up, and add one since the topleft point was rounded down + const QSize s{int(r.width() * d->zoomFactor + 0.5) + 1, + int(r.height() * d->zoomFactor + 0.5) + 1}; + return {tl, s}; } diff --git a/src/plugins/help/qlitehtml/qlitehtmlwidget.h b/src/plugins/help/qlitehtml/qlitehtmlwidget.h index a79e5824b0c..1eed9b1f095 100644 --- a/src/plugins/help/qlitehtml/qlitehtmlwidget.h +++ b/src/plugins/help/qlitehtml/qlitehtmlwidget.h @@ -82,9 +82,7 @@ private: QPoint scrollPosition() const; void htmlPos(const QPoint &pos, QPoint *viewportPos, QPoint *htmlPos) const; QPoint toVirtual(const QPoint &p) const; - QPoint fromVirtual(const QPoint &p) const; QSize toVirtual(const QSize &s) const; - QSize fromVirtual(const QSize &s) const; QRect toVirtual(const QRect &r) const; QRect fromVirtual(const QRect &r) const;