From ea9c9ff70ac7249d83eced1b17d2cdd0215db433 Mon Sep 17 00:00:00 2001 From: timlinux Date: Fri, 6 Nov 2009 10:42:11 +0000 Subject: [PATCH] Greetings from Anita and Tim at the QGIS Hackfest in Vienna (Nov 2009). We have just fixed bug #2011 (Crash using Identify Feature)...Wheeeeee git-svn-id: http://svn.osgeo.org/qgis/trunk@11927 c8812cc2-4d05-0410-92ff-de0c093fc19c --- src/app/qgsmaptoolidentify.cpp | 8 ++++++++ src/app/qgsmaptoolidentify.h | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/app/qgsmaptoolidentify.cpp b/src/app/qgsmaptoolidentify.cpp index fc6b343a9a2f..aab7379c38b2 100644 --- a/src/app/qgsmaptoolidentify.cpp +++ b/src/app/qgsmaptoolidentify.cpp @@ -72,6 +72,10 @@ void QgsMapToolIdentify::canvasReleaseEvent( QMouseEvent * e ) return; } + if ( !mResults ) + { + mResults = new QgsIdentifyResults( mCanvas, mCanvas->window() ); + } mResults->clear(); QSettings settings; @@ -147,6 +151,10 @@ void QgsMapToolIdentify::canvasReleaseEvent( QMouseEvent * e ) void QgsMapToolIdentify::activate() { + if ( !mResults ) + { + mResults = new QgsIdentifyResults( mCanvas, mCanvas->window() ); + } mResults->activate(); QgsMapTool::activate(); } diff --git a/src/app/qgsmaptoolidentify.h b/src/app/qgsmaptoolidentify.h index d11661db294d..bb965006333a 100644 --- a/src/app/qgsmaptoolidentify.h +++ b/src/app/qgsmaptoolidentify.h @@ -24,6 +24,7 @@ #include "qgsdistancearea.h" #include +#include class QgsIdentifyResults; class QgsMapLayer; @@ -71,7 +72,7 @@ class QgsMapToolIdentify : public QgsMapTool bool identifyVectorLayer( QgsVectorLayer *layer, int x, int y ); //! Pointer to the identify results dialog for name/value pairs - QgsIdentifyResults *mResults; + QPointer mResults; //! Private helper void convertMeasurement( QgsDistanceArea &calc, double &measure, QGis::UnitType &u, bool isArea );