Skip to content

Commit e7fe141

Browse files
committedMay 6, 2020
fix crash - clone the columns
1 parent 525661c commit e7fe141

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed
 

‎src/core/layout/qgscompositionconverter.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1469,7 +1469,9 @@ bool QgsCompositionConverter::readTableXml( QgsLayoutItemAttributeTable *layoutI
14691469

14701470
// sorting columns are now (QGIS 3.14+) handled in a dedicated list
14711471
Q_NOWARN_DEPRECATED_PUSH
1472-
std::copy_if( layoutItem->mColumns.begin(), layoutItem->mColumns.end(), std::back_inserter( layoutItem->mSortColumns ), []( QgsLayoutTableColumn * col ) {return col->sortByRank() > 0;} );
1472+
for ( QgsLayoutTableColumn *col : qgis::as_const( layoutItem->mColumns ) )
1473+
if ( col->sortByRank() > 0 )
1474+
layoutItem->mSortColumns.append( col->clone() );
14731475
std::sort( layoutItem->mSortColumns.begin(), layoutItem->mSortColumns.end(), []( QgsLayoutTableColumn * a, QgsLayoutTableColumn * b ) {return a->sortByRank() < b->sortByRank();} );
14741476
Q_NOWARN_DEPRECATED_POP
14751477
}

‎src/core/layout/qgslayouttable.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,9 @@ bool QgsLayoutTable::readPropertiesFromElement( const QDomElement &itemElem, con
196196
{
197197
// backward compatibility for QGIS < 3.14
198198
Q_NOWARN_DEPRECATED_PUSH
199-
std::copy_if( mColumns.begin(), mColumns.end(), std::back_inserter( mSortColumns ), []( QgsLayoutTableColumn * col ) {return col->sortByRank() > 0;} );
199+
for ( QgsLayoutTableColumn *col : qgis::as_const( mColumns ) )
200+
if ( col->sortByRank() > 0 )
201+
mSortColumns.append( col->clone() );
200202
std::sort( mSortColumns.begin(), mSortColumns.end(), []( QgsLayoutTableColumn * a, QgsLayoutTableColumn * b ) {return a->sortByRank() < b->sortByRank();} );
201203
Q_NOWARN_DEPRECATED_POP
202204
}

0 commit comments

Comments
 (0)
Please sign in to comment.