Fix QDomDocument::importNode() crashing on null nodes
Task-number: QTBUG-12927 Change-Id: I597a149bb273fa132fdb34e3678ebc3069d6f516 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
parent
1cc079c29b
commit
264fcd4eef
@ -7035,6 +7035,9 @@ QDomNodeList QDomDocument::elementsByTagName(const QString& tagname) const
|
||||
import QDomDocument and QDomDocumentType nodes. In those cases
|
||||
this function returns a \l{QDomNode::isNull()}{null node}.
|
||||
|
||||
If \a importedNode is a \l{QDomNode::isNull()}{null node},
|
||||
a null node is returned.
|
||||
|
||||
If \a deep is true, this function imports not only the node \a
|
||||
importedNode but its whole subtree; if it is false, only the \a
|
||||
importedNode is imported. The argument \a deep has no effect on
|
||||
@ -7093,6 +7096,8 @@ QDomNodeList QDomDocument::elementsByTagName(const QString& tagname) const
|
||||
*/
|
||||
QDomNode QDomDocument::importNode(const QDomNode& importedNode, bool deep)
|
||||
{
|
||||
if (importedNode.isNull())
|
||||
return QDomNode();
|
||||
if (!impl)
|
||||
impl = new QDomDocumentPrivate();
|
||||
return QDomNode(IMPL->importNode(importedNode.impl, deep));
|
||||
|
@ -718,6 +718,9 @@ void tst_QDom::ownerDocument()
|
||||
OWNERDOCUMENT_IMPORTNODE_TEST( QDomEntityReference, doc2.createEntityReference( "foo" ) );
|
||||
OWNERDOCUMENT_IMPORTNODE_TEST( QDomProcessingInstruction, doc2.createProcessingInstruction( "foo", "bar" ) );
|
||||
OWNERDOCUMENT_IMPORTNODE_TEST( QDomText, doc2.createTextNode( "foo" ) );
|
||||
|
||||
// QTBUG-12927
|
||||
QVERIFY(doc2.importNode(QDomNode(), deep).isNull());
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user