Skip to content

Commit cb23e3a

Browse files
committedAug 19, 2021
Don't store original layer xml for annotation layers -- these layers
can never be broken, so it's a waste of time to store the unused original xml
1 parent 9cfdf3d commit cb23e3a

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed
 

‎src/core/layertree/qgslayertreeutils.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -313,16 +313,18 @@ void QgsLayerTreeUtils::removeInvalidLayers( QgsLayerTreeGroup *group )
313313

314314
void QgsLayerTreeUtils::storeOriginalLayersProperties( QgsLayerTreeGroup *group, const QDomDocument *doc )
315315
{
316-
317316
const QDomElement projectLayersElement { doc->documentElement().firstChildElement( QStringLiteral( "projectlayers" ) ) };
318317

319318
std::function<void ( QgsLayerTreeNode * )> _store = [ & ]( QgsLayerTreeNode * node )
320319
{
321320
if ( QgsLayerTree::isLayer( node ) )
322321
{
323-
QgsMapLayer *l( QgsLayerTree::toLayer( node )->layer() );
324-
if ( l )
322+
if ( QgsMapLayer *l = QgsLayerTree::toLayer( node )->layer() )
325323
{
324+
// no need to store for annotation layers, they can never break!
325+
if ( l->type() == QgsMapLayerType::AnnotationLayer )
326+
return;
327+
326328
QDomElement layerElement { projectLayersElement.firstChildElement( QStringLiteral( "maplayer" ) ) };
327329
while ( ! layerElement.isNull() )
328330
{

0 commit comments

Comments
 (0)
Please sign in to comment.