[mapserver-commits] r12502 - branches/branch-6-0/mapserver

svn at osgeo.org svn at osgeo.org
Mon Aug 29 00:14:08 EDT 2011


Author: sdlime
Date: 2011-08-28 21:14:08 -0700 (Sun, 28 Aug 2011)
New Revision: 12502

Modified:
   branches/branch-6-0/mapserver/HISTORY.TXT
   branches/branch-6-0/mapserver/mapdraw.c
Log:
Changed msDrawVectorLayer() not to cache shapes if attribute binding is present after the first style (#3976).

Modified: branches/branch-6-0/mapserver/HISTORY.TXT
===================================================================
--- branches/branch-6-0/mapserver/HISTORY.TXT	2011-08-28 09:51:27 UTC (rev 12501)
+++ branches/branch-6-0/mapserver/HISTORY.TXT	2011-08-29 04:14:08 UTC (rev 12502)
@@ -15,6 +15,8 @@
 Current Version (future 6.0.2, SVN branch-6-0):
 ---------------------------
 
+- Changed msDrawVectorLayer() not to cache shapes if attribute binding is present after the first style (#3976)
+
 - Fix mapscript to build when TRUE macro is not defined (#3926)
 
 - Fix mapscript php build issues with MSVC (#4004)

Modified: branches/branch-6-0/mapserver/mapdraw.c
===================================================================
--- branches/branch-6-0/mapserver/mapdraw.c	2011-08-28 09:51:27 UTC (rev 12501)
+++ branches/branch-6-0/mapserver/mapdraw.c	2011-08-29 04:14:08 UTC (rev 12502)
@@ -880,9 +880,15 @@
     featuresdrawn++;
 
     cache = MS_FALSE;
-    if(layer->type == MS_LAYER_LINE && (layer->class[shape.classindex]->numstyles > 1 || 
-        (layer->class[shape.classindex]->numstyles == 1 && layer->class[shape.classindex]->styles[0]->outlinewidth>0)))
+    if(layer->type == MS_LAYER_LINE && (layer->class[shape.classindex]->numstyles > 1 || (layer->class[shape.classindex]->numstyles == 1 && layer->class[shape.classindex]->styles[0]->outlinewidth>0))) {
+      int i;
       cache = MS_TRUE; /* only line layers with multiple styles need be cached (I don't think POLYLINE layers need caching - SDL) */
+
+      /* we can't handle caching with attribute binding other than for the first style (#3976) */
+      for(i=1;i<layer->class[shape.classindex]->numstyles; i++) {
+        if(layer->class[shape.classindex]->styles[i]->numbindings > 0) cache = MS_FALSE;
+      }
+    }
          
     /* With 'STYLEITEM AUTO', we will have the datasource fill the class' */
     /* style parameters for this shape. */



More information about the mapserver-commits mailing list