From 02be0cb4d1d7399cacaa8742a385f84634ca5db6 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Wed, 4 May 2016 15:51:33 +0200 Subject: [PATCH] QgsOgrProvider::addAttributes(): call invalidateConnections() for MapInfo --- src/providers/ogr/qgsogrprovider.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/providers/ogr/qgsogrprovider.cpp b/src/providers/ogr/qgsogrprovider.cpp index 6f707807649..6731bb9062b 100644 --- a/src/providers/ogr/qgsogrprovider.cpp +++ b/src/providers/ogr/qgsogrprovider.cpp @@ -1212,6 +1212,13 @@ bool QgsOgrProvider::addAttributes( const QList &attributes ) if ( !doInitialActionsForEdition() ) return false; + if ( ogrDriverName == "MapInfo File" ) + { + // adding attributes in mapinfo requires to be able to delete the .dat file + // so drop any cached connections. + QgsOgrConnPool::instance()->invalidateConnections( filePath() ); + } + bool returnvalue = true; for ( QList::const_iterator iter = attributes.begin(); iter != attributes.end(); ++iter )