[Qgis-developer] should legends be shown for invisible layers ?
strk at keybit.net
Mon Dec 15 07:21:46 PST 2014
On Mon, Dec 15, 2014 at 02:24:27PM +0100, Sandro Santilli wrote:
> On Mon, Dec 15, 2014 at 06:56:39PM +0700, Martin Dobias wrote:
> > I'm not sure I like the fact that QgsMapSettings would be passed when
> > legend nodes are created. I guess with invalidateMapBasedData() having
> > QgsMapSettings pointer that would not be necessary.
> If we want ::data() to lazily load the legend, there will be a need to
> store the "last used map settings" anyway. Unless we leave all the caching
> to the single layer (rather than to each of the layertree nodes).
I'm testing this lazy load of legend from QgsWMSLegendNode::data but
experiencing memory errors due to what looks like fragility of the
QgsWmsProvider::getLegendGraphic method. In particular, calling that
method again while the old one did not get to a complete response
from server seems to put it in an unusable state, eventually getting
to segfaults. Does it make sense ?
In order words, shouldn't QgsWmsProvider::getLegendGraphic guard
after mGetLegendGraphicReply being already set and refuse to override
Also, what's the QImage returned by that function, if it is supposed to
be waiting for a response ?
() ASCII ribbon campaign -- Keep it simple !
More information about the Qgis-developer