From 152e48a5a4cf8d8236337b262f5519f07cd7d13c Mon Sep 17 00:00:00 2001 From: ahocevar Date: Wed, 30 Jan 2008 22:43:18 +0000 Subject: [PATCH] Cannot switch externalGraphic style on VML-rendered feature. r=tschaub (closes #1312) git-svn-id: http://svn.openlayers.org/trunk/openlayers@5944 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Renderer/VML.js | 41 ++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/lib/OpenLayers/Renderer/VML.js b/lib/OpenLayers/Renderer/VML.js index bad2036853..c4d5fedee0 100644 --- a/lib/OpenLayers/Renderer/VML.js +++ b/lib/OpenLayers/Renderer/VML.js @@ -196,28 +196,31 @@ OpenLayers.Renderer.VML = OpenLayers.Class(OpenLayers.Renderer.Elements, { } else { if (!fill) { fill = this.createNode('v:fill', node.id + "_fill"); + } - if (style.fillOpacity) { - fill.setAttribute("opacity", style.fillOpacity); + if (style.fillOpacity) { + fill.setAttribute("opacity", style.fillOpacity); + } + + if (node._geometryClass == "OpenLayers.Geometry.Point" && + style.externalGraphic) { + + // override fillOpacity + if (style.graphicOpacity) { + fill.setAttribute("opacity", style.graphicOpacity); } - - if (node._geometryClass == "OpenLayers.Geometry.Point" && - style.externalGraphic) { - - // override fillOpacity - if (style.graphicOpacity) { - fill.setAttribute("opacity", style.graphicOpacity); - } - - fill.setAttribute("src", style.externalGraphic); - fill.setAttribute("type", "frame"); - node.style.flip = "y"; - - if (!(style.graphicWidth && style.graphicHeight)) { - fill.aspect = "atmost"; - } + + fill.setAttribute("src", style.externalGraphic); + fill.setAttribute("type", "frame"); + node.style.flip = "y"; + + if (!(style.graphicWidth && style.graphicHeight)) { + fill.aspect = "atmost"; + } + + if (fill.parentNode != node) { + node.appendChild(fill); } - node.appendChild(fill); } }