@@ -621,8 +621,7 @@ class QgsPointLocator_DumpTree : public SpatialIndex::IQueryStrategy
621621
622622
623623QgsPointLocator::QgsPointLocator ( QgsVectorLayer *layer, const QgsCoordinateReferenceSystem &destCRS, const QgsCoordinateTransformContext &transformContext, const QgsRectangle *extent )
624- : mIsEmptyLayer( false )
625- , mLayer( layer )
624+ : mLayer( layer )
626625{
627626 if ( destCRS.isValid () )
628627 {
@@ -631,7 +630,7 @@ QgsPointLocator::QgsPointLocator( QgsVectorLayer *layer, const QgsCoordinateRefe
631630
632631 setExtent ( extent );
633632
634- mStorage = StorageManager::createNewMemoryStorageManager ();
633+ mStorage . reset ( StorageManager::createNewMemoryStorageManager () );
635634
636635 connect ( mLayer , &QgsVectorLayer::featureAdded, this , &QgsPointLocator::onFeatureAdded );
637636 connect ( mLayer , &QgsVectorLayer::featureDeleted, this , &QgsPointLocator::onFeatureDeleted );
@@ -644,8 +643,6 @@ QgsPointLocator::QgsPointLocator( QgsVectorLayer *layer, const QgsCoordinateRefe
644643QgsPointLocator::~QgsPointLocator ()
645644{
646645 destroyIndex ();
647- delete mStorage ;
648- delete mExtent ;
649646}
650647
651648QgsCoordinateReferenceSystem QgsPointLocator::destinationCrs () const
@@ -655,10 +652,7 @@ QgsCoordinateReferenceSystem QgsPointLocator::destinationCrs() const
655652
656653void QgsPointLocator::setExtent ( const QgsRectangle *extent )
657654{
658- if ( extent )
659- {
660- mExtent = new QgsRectangle ( *extent );
661- }
655+ mExtent .reset ( extent ? new QgsRectangle ( *extent ) : nullptr );
662656
663657 destroyIndex ();
664658}
@@ -803,8 +797,8 @@ bool QgsPointLocator::rebuildIndex( int maxFeaturesToIndex )
803797 }
804798
805799 QgsPointLocator_Stream stream ( dataList );
806- mRTree = RTree::createAndBulkLoadNewRTree ( RTree::BLM_STR, stream, *mStorage , fillFactor, indexCapacity,
807- leafCapacity, dimension, variant, indexId );
800+ mRTree . reset ( RTree::createAndBulkLoadNewRTree ( RTree::BLM_STR, stream, *mStorage , fillFactor, indexCapacity,
801+ leafCapacity, dimension, variant, indexId ) );
808802
809803 if ( ctx && renderer )
810804 {
@@ -816,8 +810,7 @@ bool QgsPointLocator::rebuildIndex( int maxFeaturesToIndex )
816810
817811void QgsPointLocator::destroyIndex ()
818812{
819- delete mRTree ;
820- mRTree = nullptr ;
813+ mRTree .reset ();
821814
822815 mIsEmptyLayer = false ;
823816
0 commit comments