forked from qt-creator/qt-creator
Help: Fix rendering images with litehtml
Creating the document parses it, which also populates the pixmap cache, so we may not clear the pixmap cache afterwards. Change-Id: I1e6d1669db898b1e50d59d135e52807afb307d09 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -848,11 +848,11 @@ void DocumentContainer::setScrollPosition(const QPoint &pos)
|
||||
m_scrollPosition = pos;
|
||||
}
|
||||
|
||||
void DocumentContainer::setDocument(litehtml::document::ptr document)
|
||||
void DocumentContainer::setDocument(const QByteArray &data, litehtml::context *context)
|
||||
{
|
||||
m_document = document;
|
||||
m_pixmaps.clear();
|
||||
m_selection = {};
|
||||
m_document = litehtml::document::createFromUTF8(data.constData(), this, context);
|
||||
}
|
||||
|
||||
litehtml::document::ptr DocumentContainer::document() const
|
||||
|
||||
@@ -120,9 +120,9 @@ public:
|
||||
void get_media_features(litehtml::media_features &media) const override;
|
||||
void get_language(litehtml::tstring &language, litehtml::tstring &culture) const override;
|
||||
|
||||
void setScrollPosition(const QPoint &pos);
|
||||
void setDocument(litehtml::document::ptr document);
|
||||
void setDocument(const QByteArray &data, litehtml::context *context);
|
||||
litehtml::document::ptr document() const;
|
||||
void setScrollPosition(const QPoint &pos);
|
||||
void render(int width, int height);
|
||||
|
||||
// these return areas to redraw in document space
|
||||
|
||||
@@ -422,10 +422,7 @@ QUrl QLiteHtmlWidget::url() const
|
||||
|
||||
void QLiteHtmlWidget::setHtml(const QString &content)
|
||||
{
|
||||
litehtml::document::ptr doc = litehtml::document::createFromUTF8(content.toUtf8().constData(),
|
||||
&d->documentContainer,
|
||||
&d->context);
|
||||
d->documentContainer.setDocument(doc);
|
||||
d->documentContainer.setDocument(content.toUtf8(), &d->context);
|
||||
verticalScrollBar()->setValue(0);
|
||||
horizontalScrollBar()->setValue(0);
|
||||
render();
|
||||
|
||||
Reference in New Issue
Block a user