Skip to content

Commit 93225b0

Browse files
jotonyalldawson
authored andcommittedOct 22, 2021
Fix several dangling references in grid decoration
The functions in question all return values, not references, so we need to store those values somwhere.
1 parent a4c61f0 commit 93225b0

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed
 

‎src/app/decorations/qgsdecorationgrid.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -451,9 +451,9 @@ int QgsDecorationGrid::xGridLines( const QgsMapSettings &mapSettings, QList< QPa
451451
if ( mGridIntervalY / mapSettings.mapUnitsPerPixel() < 1 )
452452
return 1;
453453

454-
const QPolygonF &canvasPoly = canvasPolygon( mapSettings );
455-
const QPolygonF &mapPolygon = canvasExtent( mapSettings );
456-
const QRectF &mapBoundingRect = mapPolygon.boundingRect();
454+
const QPolygonF canvasPoly = canvasPolygon( mapSettings );
455+
const QPolygonF mapPolygon = canvasExtent( mapSettings );
456+
const QRectF mapBoundingRect = mapPolygon.boundingRect();
457457
const QLineF lineEast( mapPolygon[2], mapPolygon[1] );
458458
const QLineF lineWest( mapPolygon[3], mapPolygon[0] );
459459

@@ -496,15 +496,15 @@ int QgsDecorationGrid::yGridLines( const QgsMapSettings &mapSettings, QList< QPa
496496
if ( mGridIntervalX / mapSettings.mapUnitsPerPixel() < 1 )
497497
return 1;
498498

499-
const QPolygonF &canvasPoly = canvasPolygon( mapSettings );
500-
const QPolygonF &mapPolygon = canvasExtent( mapSettings );
499+
const QPolygonF canvasPoly = canvasPolygon( mapSettings );
500+
const QPolygonF mapPolygon = canvasExtent( mapSettings );
501501
const QLineF lineSouth( mapPolygon[3], mapPolygon[2] );
502502
const QLineF lineNorth( mapPolygon[0], mapPolygon[1] );
503503

504504
const double len = lineSouth.length();
505505
Q_ASSERT( std::fabs( len - lineNorth.length() ) < 1e-6 ); // no shear
506506

507-
const QRectF &mapBoundingRect = mapPolygon.boundingRect();
507+
const QRectF mapBoundingRect = mapPolygon.boundingRect();
508508
const double roundCorrection = mapBoundingRect.left() > 0 ? 1.0 : 0.0;
509509
double dist = static_cast< int >( ( mapBoundingRect.left() - mGridOffsetX ) / mGridIntervalX + roundCorrection ) * mGridIntervalX + mGridOffsetX;
510510
dist = dist - mapBoundingRect.left();

0 commit comments

Comments
 (0)
Please sign in to comment.