Fix broken QgsFeatureStore::setFields method

Was setting fields only on temporary copies of the features, not
the stored features themselves
This commit is contained in:
Nyall Dawson 2015-09-09 19:17:40 +10:00
parent f628ebd423
commit 910cb01698
3 changed files with 5 additions and 4 deletions

View File

@ -19,7 +19,7 @@ class QgsFeatureStore
/** Get fields list */
QgsFields& fields();
/** Set fields. Resets feauters fields to pointer to new internal fields. */
/** Set fields. Resets feature's fields to pointer to new internal fields. */
void setFields( const QgsFields & fields );
/** Get crs */

View File

@ -40,9 +40,10 @@ QgsFeatureStore::~QgsFeatureStore()
void QgsFeatureStore::setFields( const QgsFields & fields )
{
mFields = fields;
Q_FOREACH ( QgsFeature feature, mFeatures )
QgsFeatureList::iterator it = mFeatures.begin();
for ( ; it != mFeatures.end(); ++it )
{
feature.setFields( mFields );
( *it ).setFields( mFields );
}
}

View File

@ -45,7 +45,7 @@ class CORE_EXPORT QgsFeatureStore
/** Get fields list */
QgsFields& fields() { return mFields; }
/** Set fields. Resets feauters fields to pointer to new internal fields. */
/** Set fields. Resets feature's fields to pointer to new internal fields. */
void setFields( const QgsFields & fields );
/** Get crs */