From 4ac3e65491ea6b74a5828c650dcf4666d0e1dd9f Mon Sep 17 00:00:00 2001 From: jef Date: Mon, 20 Apr 2009 19:29:55 +0000 Subject: [PATCH] fix #1644 git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@10605 c8812cc2-4d05-0410-92ff-de0c093fc19c --- src/core/qgsvectorlayer.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/core/qgsvectorlayer.cpp b/src/core/qgsvectorlayer.cpp index b421793a4b3..2dabaa3acf3 100644 --- a/src/core/qgsvectorlayer.cpp +++ b/src/core/qgsvectorlayer.cpp @@ -2188,11 +2188,11 @@ bool QgsVectorLayer::setDataProvider( QString const & provider ) // adjust the display name for postgres layers QRegExp reg( "\"[^\"]+\"\\.\"([^\"]+)\" \\(([^)]+)\\)" ); - reg.indexIn( name() ); - QStringList stuff = reg.capturedTexts(); - QString lName = stuff[1]; - if ( stuff.size() == 3 ) + if ( reg.indexIn( name() ) >= 0 ) { + QStringList stuff = reg.capturedTexts(); + QString lName = stuff[1]; + const QMap &layers = QgsMapLayerRegistry::instance()->mapLayers(); QMap::const_iterator it; @@ -2201,10 +2201,11 @@ bool QgsVectorLayer::setDataProvider( QString const & provider ) if ( it != layers.constEnd() ) lName += "." + stuff[2]; + + if ( !lName.isEmpty() ) + setLayerName( lName ); } - else if ( lName.length() == 0 ) // fallback - lName = name(); - setLayerName( lName ); + QgsDebugMsg( "Beautifying layer name " + name() ); // deal with unnecessary schema qualification to make v.in.ogr happy