Hi Devs,

I'm writting this email to inform you about my last QGIS Server improvements.

Firstly, when we fixed something in QgsMapLayerRegistry: [BUGFIX] Emit layerWillBeRemoved like layersWillBeRemoved (#3194) https://github.com/qgis/QGIS/commit/f6aad8bad6db72d0b1e573998ac7dcb2405dce55; we generated an issue in QGIS Server: Qgis Server doesnt' respect the styling from Desktop http://hub.qgis.org/issues/15522.

I investigated the issue 15522 and found that layersWillBeRemoved results in clearing vector layer join buffers. So layers in QGIS Server cache has empty join buffer. To fixed it, the only accessible method is QgsVectorLayer::readXML. But this method does not only reload joins, it also forces reload data and all other configuration stored in the qgis project. The uses of these method results it a memory leak. So the good solution is to add an accessor to the QgsVectorLayer::joinBuffer. https://github.com/qgis/QGIS/pull/3593

Following the advice of Nyall, I replace dynamic_cast by qobject_cast when it is usefull. I gained some performances with it.

I opened an other pull request about GetLegendGraphic and layer title, requested by a customer https://github.com/qgis/QGIS/pull/3595 And it needs some review
In this PR, I enhance the QGIS Server tests but a lot has to be done.


Qgis-developer mailing list
List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to