[QGIS Commit] r14132 - branches/table_join_branch/src/core/symbology-ng

svn_qgis at osgeo.org svn_qgis at osgeo.org
Mon Aug 23 11:01:01 EDT 2010


Author: mhugent
Date: 2010-08-23 15:01:01 +0000 (Mon, 23 Aug 2010)
New Revision: 14132

Modified:
   branches/table_join_branch/src/core/symbology-ng/qgssinglesymbolrendererv2.cpp
Log:
Some safety checks when working with geometryless layers

Modified: branches/table_join_branch/src/core/symbology-ng/qgssinglesymbolrendererv2.cpp
===================================================================
--- branches/table_join_branch/src/core/symbology-ng/qgssinglesymbolrendererv2.cpp	2010-08-23 14:40:16 UTC (rev 14131)
+++ branches/table_join_branch/src/core/symbology-ng/qgssinglesymbolrendererv2.cpp	2010-08-23 15:01:01 UTC (rev 14132)
@@ -59,6 +59,10 @@
 
 void QgsSingleSymbolRendererV2::startRender( QgsRenderContext& context, const QgsVectorLayer *vlayer )
 {
+  if ( !mSymbol )
+  {
+    return;
+  }
   mRotationFieldIdx  = ( mRotationField.isEmpty()  ? -1 : vlayer->fieldNameIndex( mRotationField ) );
   mSizeScaleFieldIdx = ( mSizeScaleField.isEmpty() ? -1 : vlayer->fieldNameIndex( mSizeScaleField ) );
 
@@ -93,6 +97,10 @@
 
 void QgsSingleSymbolRendererV2::stopRender( QgsRenderContext& context )
 {
+  if ( !mSymbol )
+  {
+    return;
+  }
   mSymbol->stopRender( context );
 
   if ( mRotationFieldIdx != -1 || mSizeScaleFieldIdx != -1 )
@@ -127,7 +135,14 @@
 
 QString QgsSingleSymbolRendererV2::dump()
 {
-  return QString( "SINGLE: %1" ).arg( mSymbol->dump() );
+  if ( mSymbol )
+  {
+    return QString( "SINGLE: %1" ).arg( mSymbol->dump() );
+  }
+  else
+  {
+    return "";
+  }
 }
 
 QgsFeatureRendererV2* QgsSingleSymbolRendererV2::clone()
@@ -198,10 +213,12 @@
 
 QgsLegendSymbologyList QgsSingleSymbolRendererV2::legendSymbologyItems( QSize iconSize )
 {
-  QPixmap pix = QgsSymbolLayerV2Utils::symbolPreviewPixmap( mSymbol, iconSize );
-
   QgsLegendSymbologyList lst;
-  lst << qMakePair( QString(), pix );
+  if ( mSymbol )
+  {
+    QPixmap pix = QgsSymbolLayerV2Utils::symbolPreviewPixmap( mSymbol, iconSize );
+    lst << qMakePair( QString(), pix );
+  }
   return lst;
 }
 



More information about the QGIS-commit mailing list