Skip to content

Commit 9ae1569

Browse files
committed
QgsVectorLayer::writeSymbology(): fix crash when called with invalid data provider
1 parent a70d428 commit 9ae1569

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/core/qgsvectorlayer.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1947,7 +1947,14 @@ bool QgsVectorLayer::writeSymbology( QDomNode& node, QDomDocument& doc, QString&
19471947
mConditionalStyles->writeXml( node, doc );
19481948

19491949
// save expression fields
1950-
mExpressionFieldBuffer->writeXml( node, doc );
1950+
if ( !mExpressionFieldBuffer )
1951+
{
1952+
// can happen when saving style on a invalid layer
1953+
QgsExpressionFieldBuffer dummy;
1954+
dummy.writeXml( node, doc );
1955+
}
1956+
else
1957+
mExpressionFieldBuffer->writeXml( node, doc );
19511958

19521959
// save readonly state
19531960
node.toElement().setAttribute( QStringLiteral( "readOnly" ), mReadOnly );

0 commit comments

Comments
 (0)