[mapserver-dev] Querymap fails for polygon layers with labels only (no styles)

Tamas Szekeres szekerest at gmail.com
Thu Mar 11 13:41:29 PST 2021


Hi Devs,

Currenly msDrawQueryLayer fails with error if the layer type is polygon,
the querymap style is MS_HILITE, and the layer class contains only label
elements.

Is this intentional?

The same setting works with the point layers (where the labels are being
highlighted) so I guess it should also work with the polygon layers.

The corresponding code looks like this:







*if(layer->type == MS_LAYER_POLYGON) { /* alter BOTTOM style since that's
almost always the fill */        if (layer->class[i]->styles == NULL) {
      msSetError(MS_MISCERR, "Don't know how to draw class %s of layer %s
without a style definition.", "msDrawQueryLayer()", layer->class[i]->name,
layer->name);          msFree(colorbuffer);
msFree(mindistancebuffer);          return(MS_FAILURE);        }*

however the classes with no styles can surely be handled later in the code:

} else if (layer->class[i]->numlabels > 0) {
          colorbuffer[i] = layer->class[i]->labels[0]->color;
          layer->class[i]->labels[0]->color = map->querymap.color;
      }

Should I prepare a fix for this problem?

Best regards,

Tamas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-dev/attachments/20210311/78e32487/attachment.html>


More information about the mapserver-dev mailing list