Skip to content

Commit 20eea32

Browse files
committed
Replaced QLibrary * with more safer QScopedPointer
1 parent 8b36ad5 commit 20eea32

1 file changed

Lines changed: 5 additions & 13 deletions

File tree

src/core/qgsvectorlayer.cpp

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4301,8 +4301,7 @@ QList<QgsRelation> QgsVectorLayer::referencingRelations( int idx ) const
43014301

43024302
int QgsVectorLayer::listStylesInDatabase( QStringList &ids, QStringList &names, QStringList &descriptions, QString &msgError )
43034303
{
4304-
QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
4305-
QLibrary *myLib = pReg->providerLibrary( mProviderKey );
4304+
QScopedPointer<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
43064305
if ( !myLib )
43074306
{
43084307
msgError = QObject::tr( "Unable to load %1 provider" ).arg( mProviderKey );
@@ -4312,7 +4311,6 @@ int QgsVectorLayer::listStylesInDatabase( QStringList &ids, QStringList &names,
43124311

43134312
if ( !listStylesExternalMethod )
43144313
{
4315-
delete myLib;
43164314
msgError = QObject::tr( "Provider %1 has no %2 method" ).arg( mProviderKey, QStringLiteral( "listStyles" ) );
43174315
return -1;
43184316
}
@@ -4322,8 +4320,7 @@ int QgsVectorLayer::listStylesInDatabase( QStringList &ids, QStringList &names,
43224320

43234321
QString QgsVectorLayer::getStyleFromDatabase( const QString& styleId, QString &msgError )
43244322
{
4325-
QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
4326-
QLibrary *myLib = pReg->providerLibrary( mProviderKey );
4323+
QScopedPointer<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
43274324
if ( !myLib )
43284325
{
43294326
msgError = QObject::tr( "Unable to load %1 provider" ).arg( mProviderKey );
@@ -4333,7 +4330,6 @@ QString QgsVectorLayer::getStyleFromDatabase( const QString& styleId, QString &m
43334330

43344331
if ( !getStyleByIdMethod )
43354332
{
4336-
delete myLib;
43374333
msgError = QObject::tr( "Provider %1 has no %2 method" ).arg( mProviderKey, QStringLiteral( "getStyleById" ) );
43384334
return QObject::tr( "" );
43394335
}
@@ -4343,7 +4339,7 @@ QString QgsVectorLayer::getStyleFromDatabase( const QString& styleId, QString &m
43434339

43444340
bool QgsVectorLayer::deleteStyleFromDatabase( const QString& styleId, QString &msgError )
43454341
{
4346-
QLibrary *myLib = QgsProviderRegistry::instance()->providerLibrary( mProviderKey );
4342+
QScopedPointer<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
43474343
if ( !myLib )
43484344
{
43494345
msgError = QObject::tr( "Unable to load %1 provider" ).arg( mProviderKey );
@@ -4352,7 +4348,6 @@ bool QgsVectorLayer::deleteStyleFromDatabase( const QString& styleId, QString &m
43524348
deleteStyleById_t* deleteStyleByIdMethod = reinterpret_cast< deleteStyleById_t * >( cast_to_fptr( myLib->resolve( "deleteStyleById" ) ) );
43534349
if ( !deleteStyleByIdMethod )
43544350
{
4355-
delete myLib;
43564351
msgError = QObject::tr( "Provider %1 has no %2 method" ).arg( mProviderKey, QStringLiteral( "deleteStyleById" ) );
43574352
return false;
43584353
}
@@ -4365,8 +4360,7 @@ void QgsVectorLayer::saveStyleToDatabase( const QString& name, const QString& de
43654360
{
43664361

43674362
QString sldStyle, qmlStyle;
4368-
QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
4369-
QLibrary *myLib = pReg->providerLibrary( mProviderKey );
4363+
QScopedPointer<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
43704364
if ( !myLib )
43714365
{
43724366
msgError = QObject::tr( "Unable to load %1 provider" ).arg( mProviderKey );
@@ -4376,7 +4370,6 @@ void QgsVectorLayer::saveStyleToDatabase( const QString& name, const QString& de
43764370

43774371
if ( !saveStyleExternalMethod )
43784372
{
4379-
delete myLib;
43804373
msgError = QObject::tr( "Provider %1 has no %2 method" ).arg( mProviderKey, QStringLiteral( "saveStyle" ) );
43814374
return;
43824375
}
@@ -4412,8 +4405,7 @@ QString QgsVectorLayer::loadNamedStyle( const QString &theURI, bool &theResultFl
44124405
QgsDataSourceUri dsUri( theURI );
44134406
if ( !loadFromLocalDB && mDataProvider && mDataProvider->isSaveAndLoadStyleToDBSupported() )
44144407
{
4415-
QgsProviderRegistry * pReg = QgsProviderRegistry::instance();
4416-
QLibrary *myLib = pReg->providerLibrary( mProviderKey );
4408+
QScopedPointer<QLibrary> myLib( QgsProviderRegistry::instance()->providerLibrary( mProviderKey ) );
44174409
if ( myLib )
44184410
{
44194411
loadStyle_t* loadStyleExternalMethod = reinterpret_cast< loadStyle_t * >( cast_to_fptr( myLib->resolve( "loadStyle" ) ) );

0 commit comments

Comments
 (0)