Fix overwriting default style of geopackage layers

Credit to @rouault for the fix!

Fixes #42811
This commit is contained in:
Nyall Dawson 2021-09-29 11:41:13 +10:00
parent b843556719
commit eef6939b96

View File

@ -391,6 +391,7 @@ bool QgsOgrProviderMetadata::saveStyle(
OGR_L_SetAttributeFilter( hLayer, checkQuery.toUtf8().constData() );
OGR_L_ResetReading( hLayer );
gdal::ogr_feature_unique_ptr hFeature( OGR_L_GetNextFeature( hLayer ) );
OGR_L_ResetReading( hLayer );
bool bNew = true;
if ( hFeature )
@ -610,6 +611,7 @@ QString QgsOgrProviderMetadata::loadStyle( const QString &uri, QString &errCause
}
}
OGR_L_ResetReading( hLayer );
return styleQML;
}
@ -783,6 +785,7 @@ QString QgsOgrProviderMetadata::getStyleById( const QString &uri, QString styleI
QString styleQML( QString::fromUtf8(
OGR_F_GetFieldAsString( hFeature.get(),
OGR_FD_GetFieldIndex( hLayerDefn, "styleQML" ) ) ) );
OGR_L_ResetReading( hLayer );
return styleQML;
}