Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#1550 closed defect (fixed)

msQueryByPoint does not always free the resultcache of the pevious query

Reported by: szekerest Owned by: sdlime
Priority: high Milestone:
Component: MapServer C Library Version: 4.6
Severity: normal Keywords:
Cc:

Description

msQueryByPoint does not free the resultcache of the pevious query if the layer 
is not queryable, therefore the previous results will be reported as the new 
results.


Tamas Szekeres

Change History (4)

comment:1 by szekerest, 18 years ago

Steve,

You should place msIsLayerQueryable one step later to fix this issue as
(mapquery.c 834):

if(lp->resultcache) {
      if(lp->resultcache->results) free(lp->resultcache->results);
      free(lp->resultcache);
      lp->resultcache = NULL;
    }

	if(!msIsLayerQueryable(lp)) continue;

Tamas Szekeres

comment:2 by sdlime, 18 years ago

Status: newassigned
In what situation does a layer go from queryable to not queryable? I'm curious.

Note that if this really can be a problem then a couple other of the query
function suffer too.

Steve

comment:3 by sdlime, 18 years ago

Resolution: fixed
Status: assignedclosed
I have made the changes to CVS HEAD, but have not back ported to 4.8 yet. Is
necessaru? Marking as fixed. 

comment:4 by szekerest, 18 years ago

This situation may occur with long running processes like a desktop solution I
am working on.

Tamas
Note: See TracTickets for help on using tickets.