Skip to content

Commit 76ab9af

Browse files
authored
Merge pull request qgis#60635 from benoitdm-oslandia/fix/image_ptr
fix wmsrender: homogeneize unique_ptr/ref/pointer on Image
2 parents 0e84550 + 851bcef commit 76ab9af

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/server/services/wms/qgswmsrenderer.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -1044,7 +1044,7 @@ namespace QgsWms
10441044
return true;
10451045
}
10461046

1047-
QImage *QgsRenderer::getMap()
1047+
std::unique_ptr<QImage> QgsRenderer::getMap()
10481048
{
10491049
// check size
10501050
if ( !mContext.isValidWidthHeight() )
@@ -1074,7 +1074,7 @@ namespace QgsWms
10741074
mapSettings.setLayers( layers );
10751075

10761076
// rendering step for layers
1077-
QPainter *renderedPainter = layersRendering( mapSettings, *image );
1077+
QPainter *renderedPainter = layersRendering( mapSettings, image.get() );
10781078
if ( !renderedPainter ) // job has been canceled
10791079
{
10801080
return nullptr;
@@ -1094,7 +1094,7 @@ namespace QgsWms
10941094
image.reset( scaledImage );
10951095

10961096
// return
1097-
return image.release();
1097+
return image;
10981098
}
10991099

11001100
std::unique_ptr<QgsDxfExport> QgsRenderer::getDxf()
@@ -3452,7 +3452,7 @@ namespace QgsWms
34523452
mTemporaryLayers.clear();
34533453
}
34543454

3455-
QPainter *QgsRenderer::layersRendering( const QgsMapSettings &mapSettings, QImage &image ) const
3455+
QPainter *QgsRenderer::layersRendering( const QgsMapSettings &mapSettings, QImage *image ) const
34563456
{
34573457
QPainter *painter = nullptr;
34583458

@@ -3464,7 +3464,7 @@ namespace QgsWms
34643464
#endif
34653465
QgsMapRendererJobProxy renderJob( mContext.settings().parallelRendering(), mContext.settings().maxThreads(), &filters );
34663466

3467-
renderJob.render( mapSettings, &image, mContext.socketFeedback() );
3467+
renderJob.render( mapSettings, image, mContext.socketFeedback() );
34683468
painter = renderJob.takePainter();
34693469

34703470
if ( !renderJob.errors().isEmpty() )

src/server/services/wms/qgswmsrenderer.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ namespace QgsWms
129129
* takes ownership of the image object).
130130
* \since QGIS 3.8
131131
*/
132-
QImage *getMap();
132+
std::unique_ptr<QImage> getMap();
133133

134134
/**
135135
* Returns the map as DXF data
@@ -169,7 +169,7 @@ namespace QgsWms
169169
QList<QgsMapLayer *> highlightLayers( QList<QgsWmsParametersHighlightLayer> params );
170170

171171
// Rendering step for layers
172-
QPainter *layersRendering( const QgsMapSettings &mapSettings, QImage &image ) const;
172+
QPainter *layersRendering( const QgsMapSettings &mapSettings, QImage *image ) const;
173173

174174
// Rendering step for annotations
175175
void annotationsRendering( QPainter *painter, const QgsMapSettings &mapSettings ) const;

0 commit comments

Comments
 (0)