diff --git a/src/plugins/help/qlitehtml/container_qpainter.cpp b/src/plugins/help/qlitehtml/container_qpainter.cpp index 74a8f440a9c..b15bc1fd386 100644 --- a/src/plugins/help/qlitehtml/container_qpainter.cpp +++ b/src/plugins/help/qlitehtml/container_qpainter.cpp @@ -1235,6 +1235,12 @@ void DocumentContainer::setDefaultFont(const QFont &font) { d->m_defaultFont = font; d->m_defaultFontFamilyName = d->m_defaultFont.family().toUtf8(); + // Since font family name and size are read only once, when parsing html, + // we need to trigger the reparse of this info. + if (d->m_document && d->m_document->root()) { + d->m_document->root()->refresh_styles(); + d->m_document->root()->parse_styles(); + } } QFont DocumentContainer::defaultFont() const diff --git a/src/plugins/help/qlitehtml/qlitehtmlwidget.cpp b/src/plugins/help/qlitehtml/qlitehtmlwidget.cpp index 89425930a4e..475c6ca5eb5 100644 --- a/src/plugins/help/qlitehtml/qlitehtmlwidget.cpp +++ b/src/plugins/help/qlitehtml/qlitehtmlwidget.cpp @@ -464,7 +464,7 @@ bool QLiteHtmlWidget::findText(const QString &text, .findText(text, flags, incremental, wrapped, &success, &oldSelection, &newSelection); // scroll to search result position and/or redraw as necessary QRect newSelectionCombined; - for (const QRect &r : newSelection) + for (const QRect &r : qAsConst(newSelection)) newSelectionCombined = newSelectionCombined.united(r); QScrollBar *vBar = verticalScrollBar(); const int top = newSelectionCombined.top(); @@ -475,7 +475,7 @@ bool QLiteHtmlWidget::findText(const QString &text, vBar->setValue(bottom); } else { viewport()->update(fromVirtual(newSelectionCombined.translated(-scrollPosition()))); - for (const QRect &r : oldSelection) + for (const QRect &r : qAsConst(oldSelection)) viewport()->update(fromVirtual(r.translated(-scrollPosition()))); } return success; @@ -483,8 +483,10 @@ bool QLiteHtmlWidget::findText(const QString &text, void QLiteHtmlWidget::setDefaultFont(const QFont &font) { - d->documentContainer.setDefaultFont(font); - render(); + withFixedTextPosition([this, &font] { + d->documentContainer.setDefaultFont(font); + render(); + }); } QFont QLiteHtmlWidget::defaultFont() const