Skip to content

Commit ec07a0c

Browse files
committedMar 23, 2013
issue warning to message log when active iterator is closed when replaced
1 parent e988b35 commit ec07a0c

File tree

8 files changed

+28
-1
lines changed

8 files changed

+28
-1
lines changed
 

‎src/providers/delimitedtext/qgsdelimitedtextfeatureiterator.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include "qgsdelimitedtextprovider.h"
1818

1919
#include "qgsgeometry.h"
20+
#include "qgsmessagelog.h"
2021

2122
#include <QTextStream>
2223

@@ -25,7 +26,10 @@ QgsDelimitedTextFeatureIterator::QgsDelimitedTextFeatureIterator( QgsDelimitedTe
2526
{
2627
// make sure that only one iterator is active
2728
if ( P->mActiveIterator )
29+
{
30+
QgsMessageLog::logMessage( QObject::tr( "Already active iterator on this provider was closed." ), QObject::tr( "Delimited text" ) );
2831
P->mActiveIterator->close();
32+
}
2933
P->mActiveIterator = this;
3034

3135
rewind();

‎src/providers/gpx/qgsgpxfeatureiterator.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include "qgsapplication.h"
2020
#include "qgsgeometry.h"
2121
#include "qgslogger.h"
22+
#include "qgsmessagelog.h"
2223

2324
#include <limits>
2425
#include <cstring>
@@ -29,7 +30,10 @@ QgsGPXFeatureIterator::QgsGPXFeatureIterator( QgsGPXProvider* p, const QgsFeatur
2930
{
3031
// make sure that only one iterator is active
3132
if ( P->mActiveIterator )
33+
{
34+
QgsMessageLog::logMessage( QObject::tr( "Already active iterator on this provider was closed." ), QObject::tr( "GPX" ) );
3235
P->mActiveIterator->close();
36+
}
3337
P->mActiveIterator = this;
3438

3539
rewind();

‎src/providers/grass/qgsgrassfeatureiterator.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ QgsGrassFeatureIterator::QgsGrassFeatureIterator( QgsGrassProvider* p, const Qgs
3737
{
3838
// make sure that only one iterator is active
3939
if ( P->mActiveIterator )
40+
{
41+
QgsMessageLog::logMessage( tr( "Already active iterator on this provider was closed." ), tr( "GRASS" ) );
4042
P->mActiveIterator->close();
43+
}
4144
P->mActiveIterator = this;
4245

4346
// check if outdated and update if necessary

‎src/providers/memory/qgsmemoryfeatureiterator.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,18 @@
1818
#include "qgsgeometry.h"
1919
#include "qgslogger.h"
2020
#include "qgsspatialindex.h"
21+
#include "qgsmessagelog.h"
2122

2223

2324
QgsMemoryFeatureIterator::QgsMemoryFeatureIterator( QgsMemoryProvider* p, const QgsFeatureRequest& request )
2425
: QgsAbstractFeatureIterator( request ), P( p ), mSelectRectGeom( NULL )
2526
{
2627
// make sure that only one iterator is active
2728
if ( P->mActiveIterator )
29+
{
30+
QgsMessageLog::logMessage( QObject::tr( "Already active iterator on this provider was closed." ), QObject::tr( "Memory provider" ) );
2831
P->mActiveIterator->close();
32+
}
2933
P->mActiveIterator = this;
3034

3135
if ( mRequest.filterType() == QgsFeatureRequest::FilterRect && mRequest.flags() & QgsFeatureRequest::ExactIntersect )

‎src/providers/ogr/qgsogrfeatureiterator.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@
1717
#include "qgsogrprovider.h"
1818

1919
#include "qgsapplication.h"
20-
#include "qgslogger.h"
2120
#include "qgsgeometry.h"
21+
#include "qgslogger.h"
22+
#include "qgsmessagelog.h"
2223

2324
#include <QTextCodec>
2425

@@ -35,7 +36,10 @@ QgsOgrFeatureIterator::QgsOgrFeatureIterator( QgsOgrProvider* p, const QgsFeatur
3536
{
3637
// make sure that only one iterator is active
3738
if ( P->mActiveIterator )
39+
{
40+
QgsMessageLog::logMessage( QObject::tr( "Already active iterator on this provider was closed." ), QObject::tr( "OGR" ) );
3841
P->mActiveIterator->close();
42+
}
3943
P->mActiveIterator = this;
4044

4145
mFeatureFetched = false;

‎src/providers/postgres/qgspostgresfeatureiterator.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@ QgsPostgresFeatureIterator::QgsPostgresFeatureIterator( QgsPostgresProvider* p,
4949
{
5050
// make sure that only one iterator is active
5151
if ( P->mActiveIterator )
52+
{
53+
QgsMessageLog::logMessage( QObject::tr( "Already active iterator on this provider was closed." ), QObject::tr( "PostgreSQL" ) );
5254
P->mActiveIterator->close();
55+
}
5356

5457
mCursorName = QString( "qgisf%1" ).arg( P->mProviderId );
5558

‎src/providers/spatialite/qgsspatialitefeatureiterator.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ QgsSpatiaLiteFeatureIterator::QgsSpatiaLiteFeatureIterator( QgsSpatiaLiteProvide
4444
{
4545
// make sure that only one iterator is active
4646
if ( P->mActiveIterator )
47+
{
48+
QgsMessageLog::logMessage( QObject::tr( "Already active iterator on this provider was closed." ), QObject::tr( "SpatiaLite" ) );
4749
P->mActiveIterator->close();
50+
}
4851
P->mActiveIterator = this;
4952

5053
QString whereClause;

‎src/providers/wfs/qgswfsfeatureiterator.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#include "qgswfsfeatureiterator.h"
1616
#include "qgsspatialindex.h"
1717
#include "qgswfsprovider.h"
18+
#include "qgsmessagelog.h"
1819

1920
QgsWFSFeatureIterator::QgsWFSFeatureIterator( QgsWFSProvider* provider, const QgsFeatureRequest& request ):
2021
QgsAbstractFeatureIterator( request ), mProvider( provider )
@@ -28,6 +29,7 @@ QgsWFSFeatureIterator::QgsWFSFeatureIterator( QgsWFSProvider* provider, const Qg
2829

2930
if ( mProvider->mActiveIterator )
3031
{
32+
QgsMessageLog::logMessage( QObject::tr( "Already active iterator on this provider was closed." ), QObject::tr( "WFS" ) );
3133
mProvider->mActiveIterator->close();
3234
}
3335
mProvider->mActiveIterator = this;

0 commit comments

Comments
 (0)
Please sign in to comment.