leave last attribute empty instead of first

because though fid appears to be the first field it's added in the end and has the last index.

fixes #20276
This commit is contained in:
signedav 2018-11-22 12:52:51 +01:00
parent 59686e73d7
commit d173b70b53

View File

@ -763,11 +763,9 @@ QgsVectorLayer *QgsOfflineEditing::copyVectorLayer( QgsVectorLayer *layer, sqlit
// NOTE: SpatiaLite provider ignores position of geometry column
// fill gap in QgsAttributeMap if geometry column is not last (WORKAROUND)
QgsAttributes attrs = f.attributes();
int column = 0;
// on GPKG newAttrs has an addition FID attribute, so we have to add a dummy in the original set
if ( containerType == GPKG )
column++;
QgsAttributes newAttrs( attrs.count() + column );
QgsAttributes newAttrs( containerType == GPKG ? attrs.count() + 1 : attrs.count() );
int column = 0;
for ( int it = 0; it < attrs.count(); ++it )
{
newAttrs[column++] = attrs.at( it );