@@ -4301,8 +4301,7 @@ QList<QgsRelation> QgsVectorLayer::referencingRelations( int idx ) const
43014301
43024302int 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
43234321QString 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
43444340bool 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