diff --git a/src/gui/text/qtextdocumentfragment.cpp b/src/gui/text/qtextdocumentfragment.cpp index df67fb581a..3bd1e2a801 100644 --- a/src/gui/text/qtextdocumentfragment.cpp +++ b/src/gui/text/qtextdocumentfragment.cpp @@ -489,7 +489,7 @@ void QTextHtmlImporter::import() && currentNode->id != Html_unknown) { hasBlock = false; - } else if (hasBlock) { + } else if (blockTagClosed && hasBlock) { // when collapsing subsequent block tags we need to clear the block format QTextBlockFormat blockFormat = currentNode->blockFormat; blockFormat.setIndent(indent); diff --git a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp index 009b536d7e..4274753c37 100644 --- a/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp +++ b/tests/auto/gui/text/qtextdocumentfragment/tst_qtextdocumentfragment.cpp @@ -266,6 +266,7 @@ private slots: void html_metaInBody(); void html_importImageWithoutAspectRatio(); void html_fromFirefox(); + void html_emptyInlineInsideBlock(); private: inline void setHtml(const QString &html) @@ -4004,5 +4005,11 @@ void tst_QTextDocumentFragment::html_fromFirefox() QCOMPARE(doc->toPlainText(), QString::fromLatin1("Test Text ")); } +void tst_QTextDocumentFragment::html_emptyInlineInsideBlock() +{ + doc->setHtml(QString::fromLatin1("
Foobar")); + QVERIFY(doc->firstBlock().blockFormat().leftMargin() > 0); +} + QTEST_MAIN(tst_QTextDocumentFragment) #include "tst_qtextdocumentfragment.moc"