Skip to content

Commit 1caaa2e

Browse files
committed
Range for loop without detach
1 parent d568ce3 commit 1caaa2e

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/app/nodetool/qgsnodetool.cpp

+8-4
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,8 @@ void QgsNodeTool::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
418418
QList<Vertex> nodes;
419419

420420
// for each editable layer, select nodes
421-
for ( QgsMapLayer *layer : canvas()->layers() )
421+
const auto layers = canvas()->layers();
422+
for ( QgsMapLayer *layer : layers )
422423
{
423424
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( layer );
424425
if ( !vlayer || !vlayer->isEditable() || !vlayer->isSpatial() )
@@ -615,7 +616,8 @@ QgsPointLocator::Match QgsNodeTool::snapToEditableLayer( QgsMapMouseEvent *e )
615616
{
616617
if ( currentVlayer->isEditable() )
617618
{
618-
for ( QgsMapLayer *layer : canvas()->layers() )
619+
const auto layers = canvas()->layers();
620+
for ( QgsMapLayer *layer : layers )
619621
{
620622
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( layer );
621623
if ( !vlayer )
@@ -633,7 +635,8 @@ QgsPointLocator::Match QgsNodeTool::snapToEditableLayer( QgsMapMouseEvent *e )
633635
// if there is no match from the current layer, try to use any editable vector layer
634636
if ( !m.isValid() )
635637
{
636-
for ( QgsMapLayer *layer : canvas()->layers() )
638+
const auto layers = canvas()->layers();
639+
for ( QgsMapLayer *layer : layers )
637640
{
638641
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( layer );
639642
if ( !vlayer )
@@ -1084,7 +1087,8 @@ void QgsNodeTool::startDraggingMoveVertex( const QgsPointXY &mapPoint, const Qgs
10841087
{
10851088
// support for topo editing - find extra features
10861089
// that have coincident point with the vertex being dragged
1087-
for ( QgsMapLayer *layer : canvas()->layers() )
1090+
const auto layers = canvas()->layers();
1091+
for ( QgsMapLayer *layer : layers )
10881092
{
10891093
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( layer );
10901094
if ( !vlayer || !vlayer->isEditable() )

0 commit comments

Comments
 (0)