Navigation Menu

Skip to content

Commit

Permalink
Fix crash in GPKG connection api nativeTypes
Browse files Browse the repository at this point in the history
  • Loading branch information
elpaso committed Oct 17, 2020
1 parent 0a5321a commit 37c8506
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/core/providers/ogr/qgsgeopackageproviderconnection.cpp
Expand Up @@ -432,10 +432,15 @@ QList<QVariantList> QgsGeoPackageProviderConnection::executeGdalSqlPrivate( cons
QList<QgsVectorDataProvider::NativeType> QgsGeoPackageProviderConnection::nativeTypes() const
{
QList<QgsVectorDataProvider::NativeType> types;
QgsVectorLayer vl { uri(), QStringLiteral( "temp_layer" ), QStringLiteral( "ogr" ) };
if ( ! vl.isValid() || ! vl.dataProvider() )
QgsVectorLayer::LayerOptions options { false, true };
options.skipCrsValidation = true;
const QgsVectorLayer vl { uri(), QStringLiteral( "temp_layer" ), QStringLiteral( "ogr" ), options };
if ( ! vl.isValid() || ! vl.dataProvider())
{
throw QgsProviderConnectionException( QObject::tr( "Error retrieving native types for %1: %2" ).arg( uri() ).arg( vl.dataProvider()->errors().join( '\n' ) ) );
const QString errorCause { vl.dataProvider() && vl.dataProvider()->hasErrors() ?
vl.dataProvider()->errors().join( '\n' ) :
QObject::tr( "unknown error" ) };
throw QgsProviderConnectionException( QObject::tr( "Error retrieving native types for %1: %2" ).arg( uri() ).arg( errorCause ) );
}
return vl.dataProvider()->nativeTypes();
}

0 comments on commit 37c8506

Please sign in to comment.