diff --git a/src/app/qgsmaptoolcapture.cpp b/src/app/qgsmaptoolcapture.cpp index d1292336197..946d98af4db 100644 --- a/src/app/qgsmaptoolcapture.cpp +++ b/src/app/qgsmaptoolcapture.cpp @@ -105,28 +105,25 @@ void QgsMapToolCapture::currentLayerChanged( QgsMapLayer *layer ) void QgsMapToolCapture::canvasMoveEvent( QMouseEvent * e ) { - if ( mCaptureMode == CapturePoint ) - return; - - if ( mRubberBand && mCapturing ) + QgsPoint mapPoint; + QList snapResults; + if ( mSnapper.snapToBackgroundLayers( e->pos(), snapResults ) == 0 ) { - QgsPoint mapPoint; - QList snapResults; - if ( mSnapper.snapToBackgroundLayers( e->pos(), snapResults ) == 0 ) + while ( !mSnappingMarkers.isEmpty() ) + delete mSnappingMarkers.takeFirst(); + + foreach ( const QgsSnappingResult &r, snapResults ) { - while ( !mSnappingMarkers.isEmpty() ) - delete mSnappingMarkers.takeFirst(); - - foreach ( const QgsSnappingResult &r, snapResults ) - { - QgsVertexMarker *m = new QgsVertexMarker( mCanvas ); - m->setIconType( QgsVertexMarker::ICON_CROSS ); - m->setColor( Qt::green ); - m->setPenWidth( 1 ); - m->setCenter( r.snappedVertex ); - mSnappingMarkers << m; - } + QgsVertexMarker *m = new QgsVertexMarker( mCanvas ); + m->setIconType( QgsVertexMarker::ICON_CROSS ); + m->setColor( Qt::green ); + m->setPenWidth( 2 ); + m->setCenter( r.snappedVertex ); + mSnappingMarkers << m; + } + if ( mCaptureMode != CapturePoint && mRubberBand && mCapturing ) + { mapPoint = snapPointFromResults( snapResults, e->pos() ); mRubberBand->movePoint( mapPoint ); }