@@ -992,6 +992,9 @@ void QgsVectorLayer::select( int number, bool emitSignal )
992
992
993
993
if ( emitSignal )
994
994
{
995
+ // invalidate cache
996
+ setCacheImage ( 0 );
997
+
995
998
emit selectionChanged ();
996
999
}
997
1000
}
@@ -1002,6 +1005,9 @@ void QgsVectorLayer::deselect( int number, bool emitSignal )
1002
1005
1003
1006
if ( emitSignal )
1004
1007
{
1008
+ // invalidate cache
1009
+ setCacheImage ( 0 );
1010
+
1005
1011
emit selectionChanged ();
1006
1012
}
1007
1013
}
@@ -1025,6 +1031,9 @@ void QgsVectorLayer::select( QgsRectangle & rect, bool lock )
1025
1031
select ( f.id (), false ); // don't emit signal (not to redraw it everytime)
1026
1032
}
1027
1033
1034
+ // invalidate cache
1035
+ setCacheImage ( 0 );
1036
+
1028
1037
emit selectionChanged (); // now emit signal to redraw layer
1029
1038
}
1030
1039
@@ -1048,6 +1057,9 @@ void QgsVectorLayer::invertSelection()
1048
1057
mSelectedFeatureIds .remove ( *iter );
1049
1058
}
1050
1059
1060
+ // invalidate cache
1061
+ setCacheImage ( 0 );
1062
+
1051
1063
emit selectionChanged ();
1052
1064
}
1053
1065
@@ -1071,6 +1083,9 @@ void QgsVectorLayer::invertSelectionInRectangle( QgsRectangle & rect )
1071
1083
}
1072
1084
}
1073
1085
1086
+ // invalidate cache
1087
+ setCacheImage ( 0 );
1088
+
1074
1089
emit selectionChanged ();
1075
1090
}
1076
1091
@@ -1079,7 +1094,12 @@ void QgsVectorLayer::removeSelection( bool emitSignal )
1079
1094
mSelectedFeatureIds .clear ();
1080
1095
1081
1096
if ( emitSignal )
1097
+ {
1098
+ // invalidate cache
1099
+ setCacheImage ( 0 );
1100
+
1082
1101
emit selectionChanged ();
1102
+ }
1083
1103
}
1084
1104
1085
1105
void QgsVectorLayer::triggerRepaint ()
@@ -1765,6 +1785,9 @@ bool QgsVectorLayer::deleteSelectedFeatures()
1765
1785
deleteFeature ( fid ); // removes from selection
1766
1786
}
1767
1787
1788
+ // invalidate cache
1789
+ setCacheImage ( 0 );
1790
+
1768
1791
emit selectionChanged ();
1769
1792
1770
1793
triggerRepaint ();
@@ -3355,6 +3378,10 @@ void QgsVectorLayer::setSelectedFeatures( const QgsFeatureIds& ids )
3355
3378
{
3356
3379
// TODO: check whether features with these ID exist
3357
3380
mSelectedFeatureIds = ids;
3381
+
3382
+ // invalidate cache
3383
+ setCacheImage ( 0 );
3384
+
3358
3385
emit selectionChanged ();
3359
3386
}
3360
3387
@@ -3448,6 +3475,9 @@ bool QgsVectorLayer::addFeatures( QgsFeatureList features, bool makeSelected )
3448
3475
3449
3476
if ( makeSelected )
3450
3477
{
3478
+ // invalidate cache
3479
+ setCacheImage ( 0 );
3480
+
3451
3481
emit selectionChanged ();
3452
3482
}
3453
3483
0 commit comments