Merge pull request #60635 from benoitdm-oslandia/fix/image_ptr

fix wmsrender: homogeneize unique_ptr/ref/pointer on Image
This commit is contained in:
Julien Cabieces 2025-03-04 10:24:30 +01:00 committed by GitHub
commit 76ab9af3fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 7 deletions

View File

@ -1044,7 +1044,7 @@ namespace QgsWms
return true;
}
QImage *QgsRenderer::getMap()
std::unique_ptr<QImage> QgsRenderer::getMap()
{
// check size
if ( !mContext.isValidWidthHeight() )
@ -1074,7 +1074,7 @@ namespace QgsWms
mapSettings.setLayers( layers );
// rendering step for layers
QPainter *renderedPainter = layersRendering( mapSettings, *image );
QPainter *renderedPainter = layersRendering( mapSettings, image.get() );
if ( !renderedPainter ) // job has been canceled
{
return nullptr;
@ -1094,7 +1094,7 @@ namespace QgsWms
image.reset( scaledImage );
// return
return image.release();
return image;
}
std::unique_ptr<QgsDxfExport> QgsRenderer::getDxf()
@ -3452,7 +3452,7 @@ namespace QgsWms
mTemporaryLayers.clear();
}
QPainter *QgsRenderer::layersRendering( const QgsMapSettings &mapSettings, QImage &image ) const
QPainter *QgsRenderer::layersRendering( const QgsMapSettings &mapSettings, QImage *image ) const
{
QPainter *painter = nullptr;
@ -3464,7 +3464,7 @@ namespace QgsWms
#endif
QgsMapRendererJobProxy renderJob( mContext.settings().parallelRendering(), mContext.settings().maxThreads(), &filters );
renderJob.render( mapSettings, &image, mContext.socketFeedback() );
renderJob.render( mapSettings, image, mContext.socketFeedback() );
painter = renderJob.takePainter();
if ( !renderJob.errors().isEmpty() )

View File

@ -129,7 +129,7 @@ namespace QgsWms
* takes ownership of the image object).
* \since QGIS 3.8
*/
QImage *getMap();
std::unique_ptr<QImage> getMap();
/**
* Returns the map as DXF data
@ -169,7 +169,7 @@ namespace QgsWms
QList<QgsMapLayer *> highlightLayers( QList<QgsWmsParametersHighlightLayer> params );
// Rendering step for layers
QPainter *layersRendering( const QgsMapSettings &mapSettings, QImage &image ) const;
QPainter *layersRendering( const QgsMapSettings &mapSettings, QImage *image ) const;
// Rendering step for annotations
void annotationsRendering( QPainter *painter, const QgsMapSettings &mapSettings ) const;