Skip to content

Commit 10b83d6

Browse files
committed
Make use of implicitly shared geometry
1 parent 6a5a602 commit 10b83d6

File tree

6 files changed

+9
-9
lines changed

6 files changed

+9
-9
lines changed

python/analysis/auto_generated/vector/geometry_checker/qgsgeometrycheckerror.sip.in

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ the Free Software Foundation; either version 2 of the License, or *
4545
const QgsGeometryCheck *check() const;
4646
const QString &layerId() const;
4747
QgsFeatureId featureId() const;
48-
const QgsAbstractGeometry *geometry() const;
48+
QgsGeometry geometry() const;
4949
virtual QgsRectangle affectedAreaBBox() const;
5050
virtual QString description() const;
5151
const QgsPointXY &location() const;

src/analysis/vector/geometry_checker/qgsgeometrycheckerror.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ QgsGeometryCheckError::QgsGeometryCheckError( const QgsGeometryCheck *check,
7878
}
7979
}
8080

81-
const QgsAbstractGeometry *QgsGeometryCheckError::geometry() const
81+
QgsGeometry QgsGeometryCheckError::geometry() const
8282
{
83-
return mGeometry.constGet();
83+
return mGeometry;
8484
}
8585

8686
QgsRectangle QgsGeometryCheckError::affectedAreaBBox() const

src/analysis/vector/geometry_checker/qgsgeometrycheckerror.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class ANALYSIS_EXPORT QgsGeometryCheckError
4747
const QString &layerId() const { return mLayerId; }
4848
QgsFeatureId featureId() const { return mFeatureId; }
4949
// In map units
50-
const QgsAbstractGeometry *geometry() const;
50+
QgsGeometry geometry() const;
5151
// In map units
5252
virtual QgsRectangle affectedAreaBBox() const;
5353
virtual QString description() const { return mCheck->description(); }

src/analysis/vector/geometry_checker/qgsgeometrygapcheck.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ bool QgsGeometryGapCheck::mergeWithNeighbor( const QMap<QString, QgsFeaturePool
161161
QgsFeature mergeFeature;
162162
int mergePartIdx = -1;
163163

164-
const QgsAbstractGeometry *errGeometry = QgsGeometryCheckerUtils::getGeomPart( err->geometry(), 0 );
164+
const QgsGeometry geometry = err->geometry();
165+
const QgsAbstractGeometry *errGeometry = QgsGeometryCheckerUtils::getGeomPart( geometry.constGet(), 0 );
165166

166167
const auto layerIds = err->neighbors().keys();
167168
// Search for touching neighboring geometries

src/analysis/vector/geometry_checker/qgsgeometrytypecheck.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class ANALYSIS_EXPORT QgsGeometryTypeCheck : public QgsSingleGeometryCheck
5353
QStringList resolutionMethods() const override;
5454
QString description() const override;
5555
QString id() const override;
56-
QgsGeometryCheck::CheckType checkType() const override { return factoryCheckType(); }
56+
QgsGeometryCheck::CheckType checkType() const override;
5757

5858
static QList<QgsWkbTypes::GeometryType> factoryCompatibleGeometryTypes() SIP_SKIP {return {QgsWkbTypes::PointGeometry, QgsWkbTypes::LineGeometry, QgsWkbTypes::PolygonGeometry}; }
5959
static bool factoryIsCompatible( QgsVectorLayer *layer ) SIP_SKIP { return factoryCompatibleGeometryTypes().contains( layer->geometryType() ); }

src/plugins/geometry_checker/qgsgeometrycheckerresulttab.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -343,11 +343,10 @@ void QgsGeometryCheckerResultTab::highlightErrors( bool current )
343343
{
344344
QgsGeometryCheckError *error = ui.tableWidgetErrors->item( item->row(), 0 )->data( Qt::UserRole ).value<QgsGeometryCheckError *>();
345345

346-
const QgsAbstractGeometry *geometry = error->geometry();
347-
if ( ui.checkBoxHighlight->isChecked() && geometry )
346+
const QgsGeometry geom = error->geometry();
347+
if ( ui.checkBoxHighlight->isChecked() && !geom.isNull() )
348348
{
349349
QgsRubberBand *featureRubberBand = new QgsRubberBand( mIface->mapCanvas() );
350-
QgsGeometry geom( geometry->clone() );
351350
featureRubberBand->addGeometry( geom, nullptr );
352351
featureRubberBand->setWidth( 5 );
353352
featureRubberBand->setColor( Qt::yellow );

0 commit comments

Comments
 (0)