Skip to content

Commit a6883f7

Browse files
committedMay 9, 2017
Fix crash when OGR layer is removed when source is stored
Remove link to provider in OGR feature source (cherry-picked from 0dfe687)
1 parent 8309c3c commit a6883f7

File tree

3 files changed

+2
-4
lines changed

3 files changed

+2
-4
lines changed
 

‎src/providers/ogr/qgsogrexpressioncompiler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ QgsSqlExpressionCompiler::Result QgsOgrExpressionCompiler::compileNode( const Qg
8888

8989
QString QgsOgrExpressionCompiler::quotedIdentifier( const QString& identifier )
9090
{
91-
return mSource->mProvider->quotedIdentifier( identifier.toUtf8() );
91+
return QgsOgrProviderUtils::quotedIdentifier( identifier.toUtf8(), mSource->mDriverName );
9292
}
9393

9494
QString QgsOgrExpressionCompiler::quotedValue( const QVariant& value, bool& ok )

‎src/providers/ogr/qgsogrfeatureiterator.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ QgsOgrFeatureIterator::QgsOgrFeatureIterator( QgsOgrFeatureSource* source, bool
4646
, mFilterFids( mRequest.filterFids() )
4747
, mFilterFidsIt( mFilterFids.constBegin() )
4848
{
49-
mConn = QgsOgrConnPool::instance()->acquireConnection( mSource->mProvider->dataSourceUri() );
49+
mConn = QgsOgrConnPool::instance()->acquireConnection( mSource->mDataSource );
5050
if ( !mConn->ds )
5151
{
5252
return;
@@ -354,7 +354,6 @@ bool QgsOgrFeatureIterator::readFeature( OGRFeatureH fet, QgsFeature& feature )
354354

355355

356356
QgsOgrFeatureSource::QgsOgrFeatureSource( const QgsOgrProvider* p )
357-
: mProvider( p )
358357
{
359358
mDataSource = p->dataSourceUri();
360359
mLayerName = p->layerName();

‎src/providers/ogr/qgsogrfeatureiterator.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ class QgsOgrFeatureSource : public QgsAbstractFeatureSource
3232
virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest& request ) override;
3333

3434
protected:
35-
const QgsOgrProvider* mProvider;
3635
QString mDataSource;
3736
QString mLayerName;
3837
int mLayerIndex;

0 commit comments

Comments
 (0)
Please sign in to comment.