Hi I've recently been working with the network analysis library. When I had a look at the code I noticed the following: In the constructor a new QgsGraph() mGraph is instantiated In the destructor mGraph is deleted if not null In the method graph() mGraph is returned and set to null This leads to the effect, that if I request the graph() from the QgsGraphBuilder ( and I normally will, as that's the only purpose of using the QgsGraphBuilder ) I get the full ownership and have to delete the graph-object, when I'm finished with it. But this is not stated in the API. So without looking at the code there is no way to know this. - How does python handle this? Does the following code delete this object?
graph = graphBuilder.graph() graph = null - In my opinion, this is a wrong design. I would rather pass a graph-object to the graphbuilder in the constructor and let it fill this object. Then I know, that is my responsibility to delete it afterwards. I would provide a patch to change this if there are no good reasons to keep it the way it is. Regards, Matthias _______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
