Skip to content

Commit

Permalink
prevent snapping to non-geometric layers (was leading to multiple log…
Browse files Browse the repository at this point in the history
…s: Transform error caught inverse transform of ...)
  • Loading branch information
3nids committed Jan 31, 2014
1 parent dd0849d commit b834922
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 1 deletion.
3 changes: 3 additions & 0 deletions src/core/qgssnapper.cpp
Expand Up @@ -54,6 +54,9 @@ int QgsSnapper::snapPoint( const QPoint& startPoint, QList<QgsSnappingResult>& s
QList<QgsSnapper::SnapLayer>::iterator snapLayerIt;
for ( snapLayerIt = mSnapLayers.begin(); snapLayerIt != mSnapLayers.end(); ++snapLayerIt )
{
if ( !snapLayerIt->mLayer->hasGeometryType() )
continue;

//transform point from map coordinates to layer coordinates
layerCoordPoint = mMapRenderer->mapToLayerCoordinates( snapLayerIt->mLayer, mapCoordPoint );

Expand Down
2 changes: 1 addition & 1 deletion src/gui/qgsmapcanvassnapper.cpp
Expand Up @@ -186,7 +186,7 @@ int QgsMapCanvasSnapper::snapToBackgroundLayers( const QPoint& p, QList<QgsSnapp

//layer
QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( QgsMapLayerRegistry::instance()->mapLayer( *layerIt ) );
if ( !vlayer )
if ( !vlayer || !vlayer->hasGeometryType() )
continue;

snapLayer.mLayer = vlayer;
Expand Down

0 comments on commit b834922

Please sign in to comment.