File tree 1 file changed +19
-1
lines changed
1 file changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -96,7 +96,25 @@ void QgsMapToolAddVertex::canvasReleaseEvent( QMouseEvent * e )
96
96
int topologicalEditing = QgsProject::instance ()->readNumEntry ( " Digitizing" , " /TopologicalEditing" , 0 );
97
97
if ( topologicalEditing )
98
98
{
99
- insertSegmentVerticesForSnap ( snapResults, vlayer );
99
+ // ignore the snapping results that are on features / segments already considered in mRecentSnappingResults
100
+ QList<QgsSnappingResult> filteredSnapResults = snapResults;
101
+ QList<QgsSnappingResult>::iterator recentIt = mRecentSnappingResults .begin ();
102
+ for (; recentIt != mRecentSnappingResults .end (); ++recentIt)
103
+ {
104
+ QList<QgsSnappingResult>::iterator filterIt = filteredSnapResults.begin ();
105
+ for (; filterIt != filteredSnapResults.end (); ++filterIt)
106
+ {
107
+ if (filterIt->snappedAtGeometry == recentIt->snappedAtGeometry \
108
+ && filterIt->snappedVertexNr == recentIt->snappedVertexNr \
109
+ && filterIt->beforeVertexNr == recentIt->beforeVertexNr )
110
+ {
111
+ filteredSnapResults.erase (filterIt);
112
+ continue ;
113
+ }
114
+
115
+ }
116
+ }
117
+ insertSegmentVerticesForSnap ( filteredSnapResults, vlayer );
100
118
}
101
119
102
120
snappedPointMapCoord = snapPointFromResults ( snapResults, e->pos () );
You can’t perform that action at this time.
0 commit comments