[QGIS Commit] r10547 - branches/Version-1_0/src/core

svn_qgis at osgeo.org svn_qgis at osgeo.org
Sun Apr 12 16:21:49 EDT 2009


Author: mhugent
Date: 2009-04-12 16:21:49 -0400 (Sun, 12 Apr 2009)
New Revision: 10547

Modified:
   branches/Version-1_0/src/core/qgsvectorlayer.cpp
Log:
backport fix for #1310

Modified: branches/Version-1_0/src/core/qgsvectorlayer.cpp
===================================================================
--- branches/Version-1_0/src/core/qgsvectorlayer.cpp	2009-04-12 19:31:56 UTC (rev 10546)
+++ branches/Version-1_0/src/core/qgsvectorlayer.cpp	2009-04-12 20:21:49 UTC (rev 10547)
@@ -2102,11 +2102,14 @@
     return false;
   }
 
-  //read provider encoding
-  QDomNode encodingNode = layer_node.namedItem( "encoding" );
-  if ( ! encodingNode.isNull() && mDataProvider )
+  QDomElement pkeyElem = pkeyNode.toElement();
+  if(!pkeyElem.isNull())
   {
-    mDataProvider->setEncoding( encodingNode.toElement().text() );
+    QString encodingString = pkeyElem.attribute("encoding");
+    if(!encodingString.isEmpty())
+    {
+       mDataProvider->setEncoding(encodingString);
+    }
   }
 
   QString errorMsg;
@@ -2226,10 +2229,14 @@
   mapLayerNode.setAttribute( "geometry", QGis::qgisVectorGeometryType[geometryType()] );
 
   // add provider node
-  QDomElement provider  = document.createElement( "provider" );
-  QDomText providerText = document.createTextNode( providerType() );
-  provider.appendChild( providerText );
-  layer_node.appendChild( provider );
+  if(mDataProvider)
+    {
+        QDomElement provider  = document.createElement( "provider" );
+        provider.setAttribute("encoding", mDataProvider->encoding());
+        QDomText providerText = document.createTextNode( providerType() );
+        provider.appendChild( providerText );
+        layer_node.appendChild( provider );
+    }
 
   // renderer specific settings
 



More information about the QGIS-commit mailing list