@@ -1377,6 +1377,11 @@ int msDrawQueryLayer(mapObj *map, layerObj *layer, imageObj *image)
1377
1377
colorbuffer [i ] = layer -> class [i ]-> styles [0 ]-> outlinecolor ; /* if no color, save the outlinecolor from the BOTTOM style */
1378
1378
layer -> class [i ]-> styles [0 ]-> outlinecolor = map -> querymap .color ;
1379
1379
}
1380
+ } else if (layer -> type == MS_LAYER_LINE && layer -> class [i ]-> numstyles > 0 && layer -> class [i ]-> styles [0 ]-> outlinewidth > 0 ) { /* alter BOTTOM style for lines with outlines */
1381
+ if (MS_VALID_COLOR (layer -> class [i ]-> styles [0 ]-> color )) {
1382
+ colorbuffer [i ] = layer -> class [i ]-> styles [0 ]-> color ; /* save the color from the BOTTOM style */
1383
+ layer -> class [i ]-> styles [0 ]-> color = map -> querymap .color ;
1384
+ } /* else ??? */
1380
1385
} else if (layer -> class [i ]-> numstyles > 0 ) {
1381
1386
if (MS_VALID_COLOR (layer -> class [i ]-> styles [layer -> class [i ]-> numstyles - 1 ]-> color )) {
1382
1387
colorbuffer [i ] = layer -> class [i ]-> styles [layer -> class [i ]-> numstyles - 1 ]-> color ; /* save the color from the TOP style */
@@ -1388,7 +1393,7 @@ int msDrawQueryLayer(mapObj *map, layerObj *layer, imageObj *image)
1388
1393
} else if (layer -> class [i ]-> numlabels > 0 ) {
1389
1394
colorbuffer [i ] = layer -> class [i ]-> labels [0 ]-> color ;
1390
1395
layer -> class [i ]-> labels [0 ]-> color = map -> querymap .color ;
1391
- }
1396
+ } /* else ??? */
1392
1397
1393
1398
mindistancebuffer [i ] = -1 ; /* RFC77 TODO: only using the first label, is that cool? */
1394
1399
if (layer -> class [i ]-> numlabels > 0 ) {
@@ -1496,6 +1501,9 @@ int msDrawQueryLayer(mapObj *map, layerObj *layer, imageObj *image)
1496
1501
layer -> class [i ]-> styles [0 ]-> color = colorbuffer [i ];
1497
1502
else if (MS_VALID_COLOR (layer -> class [i ]-> styles [0 ]-> outlinecolor ))
1498
1503
layer -> class [i ]-> styles [0 ]-> outlinecolor = colorbuffer [i ]; /* if no color, restore outlinecolor for the BOTTOM style */
1504
+ } else if (layer -> type == MS_LAYER_LINE && layer -> class [i ]-> numstyles > 0 && layer -> class [i ]-> styles [0 ]-> outlinewidth > 0 ) {
1505
+ if (MS_VALID_COLOR (layer -> class [i ]-> styles [0 ]-> color ))
1506
+ layer -> class [i ]-> styles [0 ]-> color = colorbuffer [i ];
1499
1507
} else if (layer -> class [i ]-> numstyles > 0 ) {
1500
1508
if (MS_VALID_COLOR (layer -> class [i ]-> styles [layer -> class [i ]-> numstyles - 1 ]-> color ))
1501
1509
layer -> class [i ]-> styles [layer -> class [i ]-> numstyles - 1 ]-> color = colorbuffer [i ];
0 commit comments