[QGIS Commit] r10853 - in trunk/qgis/src: app core

svn_qgis at osgeo.org svn_qgis at osgeo.org
Wed May 27 13:17:03 EDT 2009


Author: jef
Date: 2009-05-27 13:17:03 -0400 (Wed, 27 May 2009)
New Revision: 10853

Modified:
   trunk/qgis/src/app/qgssnappingdialog.h
   trunk/qgis/src/core/qgsprojectfiletransform.cpp
   trunk/qgis/src/core/qgsprojectfiletransform.h
Log:
fix crash when viewing project properties of 1.1 project files
(missing LayerSnappingToleranceUnitList)


Modified: trunk/qgis/src/app/qgssnappingdialog.h
===================================================================
--- trunk/qgis/src/app/qgssnappingdialog.h	2009-05-27 13:33:04 UTC (rev 10852)
+++ trunk/qgis/src/app/qgssnappingdialog.h	2009-05-27 17:17:03 UTC (rev 10853)
@@ -28,7 +28,7 @@
   int snapTo; //0 = to vertex, 1 = to segment, 2 = to vertex and to segment
   QString layerName;
   double tolerance;
-  int toleranceUnit;
+  int toleranceUnit; // 0 = map units, 1 = pixels
 };
 
 /**A dialog to enter advanced editing properties, e.g. topological editing, snapping settings

Modified: trunk/qgis/src/core/qgsprojectfiletransform.cpp
===================================================================
--- trunk/qgis/src/core/qgsprojectfiletransform.cpp	2009-05-27 13:33:04 UTC (rev 10852)
+++ trunk/qgis/src/core/qgsprojectfiletransform.cpp	2009-05-27 17:17:03 UTC (rev 10853)
@@ -26,6 +26,7 @@
 #include <QDomDocument>
 #include <QPrinter> //to find out screen resolution
 #include <cstdlib>
+#include "qgsprojectproperty.h"
 
 typedef QgsProjectVersion PFV;
 
@@ -38,7 +39,8 @@
   {PFV( 0, 9, 1 ), PFV( 0, 10, 0 ), &QgsProjectFileTransform::transform091to0100},
   {PFV( 0, 9, 2 ), PFV( 0, 10, 0 ), &QgsProjectFileTransform::transformNull},
   {PFV( 0, 10, 0 ), PFV( 0, 11, 0 ), &QgsProjectFileTransform::transform0100to0110},
-  {PFV( 0, 11, 0 ), PFV( 1, 0, 0 ), &QgsProjectFileTransform::transform0110to1000}
+  {PFV( 0, 11, 0 ), PFV( 1, 0, 0 ), &QgsProjectFileTransform::transform0110to1000},
+  {PFV( 1, 1, 0 ), PFV( 1, 2, 0 ), &QgsProjectFileTransform::transform1100to1200},
 };
 
 bool QgsProjectFileTransform::updateRevision( QgsProjectVersion newVersion )
@@ -346,3 +348,37 @@
     }
   }
 }
+
+void QgsProjectFileTransform::transform1100to1200()
+{
+  QgsDebugMsg( "Entering..." );
+  if ( mDom.isNull() )
+    return;
+
+  QDomNode qgis = mDom.firstChildElement( "qgis" );
+  if ( qgis.isNull() )
+    return;
+
+  QDomElement properties = qgis.firstChildElement( "properties" );
+  if ( properties.isNull() )
+    return;
+
+  QDomElement digitizing = properties.firstChildElement( "Digitizing" );
+  if ( digitizing.isNull() )
+    return;
+
+  QDomElement tolList = digitizing.firstChildElement( "LayerSnappingToleranceList" );
+  if ( tolList.isNull() )
+    return;
+
+  QDomElement tolUnitList = digitizing.firstChildElement( "LayerSnappingToleranceUnitList" );
+  if ( !tolUnitList.isNull() )
+    return;
+
+  QStringList units;
+  for ( int i = 0; i < tolList.childNodes().count(); i++ )
+    units << "0";
+
+  QgsPropertyValue value( units );
+  value.writeXML( "LayerSnappingToleranceUnitList", digitizing, mDom );
+}
\ No newline at end of file

Modified: trunk/qgis/src/core/qgsprojectfiletransform.h
===================================================================
--- trunk/qgis/src/core/qgsprojectfiletransform.h	2009-05-27 13:33:04 UTC (rev 10852)
+++ trunk/qgis/src/core/qgsprojectfiletransform.h	2009-05-27 17:17:03 UTC (rev 10853)
@@ -80,6 +80,7 @@
     void transform091to0100();
     void transform0100to0110();
     void transform0110to1000();
+    void transform1100to1200();
 };
 
 



More information about the QGIS-commit mailing list