Make QgsMapCanvas.snapToCurrentLayer() work again (fixes #12631)

The snapper was called with screen coords instead of map coords
(due to implicit conversion QPoint->QgsPoint)
This commit is contained in:
Martin Dobias 2015-06-18 17:56:52 +08:00
parent 34cbbde218
commit e646647713

View File

@ -108,7 +108,8 @@ int QgsMapCanvasSnapper::snapToCurrentLayer( const QPoint& p, QList<QgsSnappingR
snapLayers.append( snapLayer );
mSnapper->setSnapLayers( snapLayers );
if ( mSnapper->snapMapPoint( p, results, excludePoints ) != 0 )
QgsPoint mapPoint = mMapCanvas->mapSettings().mapToPixel().toMapCoordinates( p );
if ( mSnapper->snapMapPoint( mapPoint, results, excludePoints ) != 0 )
return 4;
return 0;