Skip to content

Commit b834922

Browse files
committed
prevent snapping to non-geometric layers (was leading to multiple logs: Transform error caught inverse transform of ...)
1 parent dd0849d commit b834922

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

src/core/qgssnapper.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ int QgsSnapper::snapPoint( const QPoint& startPoint, QList<QgsSnappingResult>& s
5454
QList<QgsSnapper::SnapLayer>::iterator snapLayerIt;
5555
for ( snapLayerIt = mSnapLayers.begin(); snapLayerIt != mSnapLayers.end(); ++snapLayerIt )
5656
{
57+
if ( !snapLayerIt->mLayer->hasGeometryType() )
58+
continue;
59+
5760
//transform point from map coordinates to layer coordinates
5861
layerCoordPoint = mMapRenderer->mapToLayerCoordinates( snapLayerIt->mLayer, mapCoordPoint );
5962

src/gui/qgsmapcanvassnapper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ int QgsMapCanvasSnapper::snapToBackgroundLayers( const QPoint& p, QList<QgsSnapp
186186

187187
//layer
188188
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( QgsMapLayerRegistry::instance()->mapLayer( *layerIt ) );
189-
if ( !vlayer )
189+
if ( !vlayer || !vlayer->hasGeometryType() )
190190
continue;
191191

192192
snapLayer.mLayer = vlayer;

0 commit comments

Comments
 (0)