[mapserver-commits] r9379 - trunk/mapserver

svn at osgeo.org svn at osgeo.org
Mon Oct 5 13:25:14 EDT 2009


Author: aboudreault
Date: 2009-10-05 13:25:12 -0400 (Mon, 05 Oct 2009)
New Revision: 9379

Modified:
   trunk/mapserver/HISTORY.TXT
   trunk/mapserver/mapdraw.c
Log:
Fixed use of minfeaturesize auto with curved labels (#3151)

Modified: trunk/mapserver/HISTORY.TXT
===================================================================
--- trunk/mapserver/HISTORY.TXT	2009-10-05 16:15:51 UTC (rev 9378)
+++ trunk/mapserver/HISTORY.TXT	2009-10-05 17:25:12 UTC (rev 9379)
@@ -14,6 +14,8 @@
 Current Version (SVN trunk):
 ----------------------------
 
+- Fixed use of minfeaturesize auto with curved labels (#3151)
+
 - Fixed msRemoveHashTable function when 2 keys have the same hash (#3146)
 
 - Fix raster thread deadlock condition on posix/linux (#3145)

Modified: trunk/mapserver/mapdraw.c
===================================================================
--- trunk/mapserver/mapdraw.c	2009-10-05 16:15:51 UTC (rev 9378)
+++ trunk/mapserver/mapdraw.c	2009-10-05 17:25:12 UTC (rev 9379)
@@ -1620,7 +1620,7 @@
               labelObj label = layer->class[c]->label;
                 
               if(layer->labelcache) {
-                if(msAddLabel(map, layer->index, c, shape, NULL, annopaths[i], shape->text, 0.0, &label) != MS_SUCCESS) return(MS_FAILURE);
+                if(msAddLabel(map, layer->index, c, shape, NULL, annopaths[i], shape->text, -1, &label) != MS_SUCCESS) return(MS_FAILURE);
               } else {
                 /* FIXME: Not sure how this should work with the label path yet */
                 /*
@@ -1990,7 +1990,7 @@
             label = layer->class[c]->label;
             
             if(layer->labelcache) {
-              if(msAddLabel(map, layer->index, c, shape, NULL, annopaths[i], shape->text, 0.0, &label) != MS_SUCCESS) return(MS_FAILURE);
+              if(msAddLabel(map, layer->index, c, shape, NULL, annopaths[i], shape->text, -1, &label) != MS_SUCCESS) return(MS_FAILURE);
             } else {
               /* FIXME: need to call msDrawTextLineGD() from here eventually */
               /* msDrawLabel(image, label_line->point[0], shape->text, &label, &map->fontset, layer->scalefactor); */
@@ -2455,8 +2455,9 @@
           label_offset_y = labelPtr->offsety*layerPtr->scalefactor;
           label_buffer = labelPtr->buffer*layerPtr->scalefactor;
           label_mindistance = labelPtr->mindistance*layerPtr->scalefactor;
-
-          if(labelPtr->autominfeaturesize && ((r.maxx-r.minx) > cachePtr->featuresize))
+          
+          /* if cachePtr->featuresize is set to -1, this check has been done in msPolylineLabelPath() */
+          if(labelPtr->autominfeaturesize && (cachePtr->featuresize != -1) && ((r.maxx-r.minx) > cachePtr->featuresize))
             continue; /* label too large relative to the feature */
 
           marker_offset_x = marker_offset_y = 0; /* assume no marker */



More information about the mapserver-commits mailing list