From 137bc4dbc28f218757077f6a436a0210dc6c8f1f Mon Sep 17 00:00:00 2001 From: Alessandro Pasotti Date: Sat, 9 Jun 2018 18:12:01 +0200 Subject: [PATCH] [bugfix] Do not crash when removing a layout legend item ... when the layer was removed from the map, the legend sync was disabled and the drawind order was enabled ... Fixes #19145 Crash when deleting an item from the layout legend --- src/core/layertree/qgslayertree.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/layertree/qgslayertree.cpp b/src/core/layertree/qgslayertree.cpp index 3cf9f61583b..ea4e4be5b82 100644 --- a/src/core/layertree/qgslayertree.cpp +++ b/src/core/layertree/qgslayertree.cpp @@ -138,6 +138,10 @@ void QgsLayerTree::writeXml( QDomElement &parentElement, const QgsReadWriteConte Q_FOREACH ( QgsMapLayer *layer, mCustomLayerOrder ) { + // Safety belt, see https://issues.qgis.org/issues/19145 + // Crash when deleting an item from the layout legend + if ( ! layer ) + continue; QDomElement layerElem = doc.createElement( QStringLiteral( "item" ) ); layerElem.appendChild( doc.createTextNode( layer->id() ) ); customOrderElem.appendChild( layerElem );