From a066fe33eb341d77ff2340a70a7cadc931841d04 Mon Sep 17 00:00:00 2001 From: wonder <wonder@c8812cc2-4d05-0410-92ff-de0c093fc19c> Date: Sun, 28 Mar 2010 08:34:54 +0000 Subject: [PATCH] Fixed a segfault with simplify tool (#2450) git-svn-id: http://svn.osgeo.org/qgis/trunk@13176 c8812cc2-4d05-0410-92ff-de0c093fc19c --- src/app/qgsmaptoolsimplify.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/app/qgsmaptoolsimplify.cpp b/src/app/qgsmaptoolsimplify.cpp index c00f5547c1b..ad5aafac8ff 100644 --- a/src/app/qgsmaptoolsimplify.cpp +++ b/src/app/qgsmaptoolsimplify.cpp @@ -259,7 +259,7 @@ void QgsMapToolSimplify::canvasPressEvent( QMouseEvent * e ) vlayer->select( QgsAttributeList(), selectRect, true ); QgsGeometry* geometry = QgsGeometry::fromPoint( layerCoords ); - double minDistance = 10000000; + double minDistance = DBL_MAX; double currentDistance; QgsFeature f; @@ -274,16 +274,18 @@ void QgsMapToolSimplify::canvasPressEvent( QMouseEvent * e ) mSelectedFeature = f; } } - if ( mSelectedFeature.geometry()->isMultipart() ) - { - QMessageBox::critical( 0, tr( "Unsupported operation" ), tr( "Multipart features are not supported for simplification." ) ); - return; - } + // delete previous rubberband (if any) removeRubberBand(); if ( mSelectedFeature.isValid() ) { + if ( mSelectedFeature.geometry()->isMultipart() ) + { + QMessageBox::critical( 0, tr( "Unsupported operation" ), tr( "Multipart features are not supported for simplification." ) ); + return; + } + mRubberBand = new QgsRubberBand( mCanvas ); mRubberBand->setToGeometry( mSelectedFeature.geometry(), false ); mRubberBand->setColor( Qt::red );