[QGIS Commit] r13047 - trunk/qgis/src/gui

svn_qgis at osgeo.org svn_qgis at osgeo.org
Thu Mar 11 08:31:59 EST 2010


Author: jef
Date: 2010-03-11 08:31:59 -0500 (Thu, 11 Mar 2010)
New Revision: 13047

Modified:
   trunk/qgis/src/gui/qgsmapcanvas.cpp
Log:
fix #2543

Modified: trunk/qgis/src/gui/qgsmapcanvas.cpp
===================================================================
--- trunk/qgis/src/gui/qgsmapcanvas.cpp	2010-03-11 10:58:47 UTC (rev 13046)
+++ trunk/qgis/src/gui/qgsmapcanvas.cpp	2010-03-11 13:31:59 UTC (rev 13047)
@@ -222,20 +222,25 @@
   return mMapRenderer->coordinateTransform();
 }
 
-void QgsMapCanvas::setLayerSet( QList<QgsMapCanvasLayer>& layers )
+void QgsMapCanvas::setLayerSet( QList<QgsMapCanvasLayer> &layers )
 {
   if ( mDrawing )
   {
     return;
   }
-  int i;
 
   // create layer set
   QStringList layerSet, layerSetOverview;
 
+  int i;
   for ( i = 0; i < layers.size(); i++ )
   {
-    QgsMapCanvasLayer& lyr = layers[i];
+    QgsMapCanvasLayer &lyr = layers[i];
+    if ( !lyr.layer() )
+    {
+      continue;
+    }
+
     if ( lyr.isVisible() )
     {
       layerSet.push_back( lyr.layer()->getLayerID() );
@@ -248,7 +253,7 @@
 
   QStringList& layerSetOld = mMapRenderer->layerSet();
 
-  bool layerSetChanged = ( layerSetOld != layerSet );
+  bool layerSetChanged = layerSetOld != layerSet;
 
   // update only if needed
   if ( layerSetChanged )
@@ -1170,11 +1175,11 @@
 QList<QgsMapLayer*> QgsMapCanvas::layers() const
 {
   QList<QgsMapLayer*> lst;
-  foreach ( QString layerID, mMapRenderer->layerSet() )
+  foreach( QString layerID, mMapRenderer->layerSet() )
   {
     QgsMapLayer* layer = QgsMapLayerRegistry::instance()->mapLayer( layerID );
     if ( layer )
-      lst.append(layer);
+      lst.append( layer );
   }
   return lst;
 }



More information about the QGIS-commit mailing list