[QGIS Commit] r12189 - trunk/qgis/src/core

svn_qgis at osgeo.org svn_qgis at osgeo.org
Thu Nov 19 06:42:47 EST 2009


Author: wonder
Date: 2009-11-19 06:42:47 -0500 (Thu, 19 Nov 2009)
New Revision: 12189

Modified:
   trunk/qgis/src/core/qgsvectorlayer.cpp
Log:
Invalidate cache whenever the selection changes


Modified: trunk/qgis/src/core/qgsvectorlayer.cpp
===================================================================
--- trunk/qgis/src/core/qgsvectorlayer.cpp	2009-11-19 11:42:41 UTC (rev 12188)
+++ trunk/qgis/src/core/qgsvectorlayer.cpp	2009-11-19 11:42:47 UTC (rev 12189)
@@ -992,6 +992,9 @@
 
   if ( emitSignal )
   {
+    // invalidate cache
+    setCacheImage( 0 );
+
     emit selectionChanged();
   }
 }
@@ -1002,6 +1005,9 @@
 
   if ( emitSignal )
   {
+    // invalidate cache
+    setCacheImage( 0 );
+
     emit selectionChanged();
   }
 }
@@ -1025,6 +1031,9 @@
     select( f.id(), false ); // don't emit signal (not to redraw it everytime)
   }
 
+  // invalidate cache
+  setCacheImage( 0 );
+
   emit selectionChanged(); // now emit signal to redraw layer
 }
 
@@ -1048,6 +1057,9 @@
     mSelectedFeatureIds.remove( *iter );
   }
 
+  // invalidate cache
+  setCacheImage( 0 );
+
   emit selectionChanged();
 }
 
@@ -1071,6 +1083,9 @@
     }
   }
 
+  // invalidate cache
+  setCacheImage( 0 );
+
   emit selectionChanged();
 }
 
@@ -1079,7 +1094,12 @@
   mSelectedFeatureIds.clear();
 
   if ( emitSignal )
+  {
+    // invalidate cache
+    setCacheImage( 0 );
+
     emit selectionChanged();
+  }
 }
 
 void QgsVectorLayer::triggerRepaint()
@@ -1765,6 +1785,9 @@
     deleteFeature( fid );  // removes from selection
   }
 
+  // invalidate cache
+  setCacheImage( 0 );
+
   emit selectionChanged();
 
   triggerRepaint();
@@ -3355,6 +3378,10 @@
 {
   // TODO: check whether features with these ID exist
   mSelectedFeatureIds = ids;
+
+  // invalidate cache
+  setCacheImage( 0 );
+
   emit selectionChanged();
 }
 
@@ -3448,6 +3475,9 @@
 
   if ( makeSelected )
   {
+    // invalidate cache
+    setCacheImage( 0 );
+
     emit selectionChanged();
   }
 



More information about the QGIS-commit mailing list