From 07114fc8944c0506f2e1bdaa2d039605f7b85ffc Mon Sep 17 00:00:00 2001 From: ahocevar Date: Mon, 23 Apr 2012 10:17:20 -0400 Subject: [PATCH] Setting opacity on the last child. This is required for IFrame tiles, so we don't set the opacity on the event pane. To make this work with vector layers, the defs node needs to be inserted before the root group element instead of after it. --- lib/OpenLayers/Layer.js | 2 +- lib/OpenLayers/Renderer/SVG.js | 2 +- lib/deprecated.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/OpenLayers/Layer.js b/lib/OpenLayers/Layer.js index 63f0aaab2a..8e3cb58141 100644 --- a/lib/OpenLayers/Layer.js +++ b/lib/OpenLayers/Layer.js @@ -1286,7 +1286,7 @@ OpenLayers.Layer = OpenLayers.Class({ this.opacity = opacity; var childNodes = this.div.childNodes; for(var i = 0, len = childNodes.length; i < len; ++i) { - var element = childNodes[i].firstChild || childNodes[i]; + var element = childNodes[i].lastChild || childNodes[i]; OpenLayers.Util.modifyDOMElement(element, null, null, null, null, null, null, opacity); } diff --git a/lib/OpenLayers/Renderer/SVG.js b/lib/OpenLayers/Renderer/SVG.js index e65da76a9a..91b5b9e3e5 100644 --- a/lib/OpenLayers/Renderer/SVG.js +++ b/lib/OpenLayers/Renderer/SVG.js @@ -470,7 +470,7 @@ OpenLayers.Renderer.SVG = OpenLayers.Class(OpenLayers.Renderer.Elements, { */ createDefs: function() { var defs = this.nodeFactory(this.container.id + "_defs", "defs"); - this.rendererRoot.appendChild(defs); + this.rendererRoot.insertBefore(defs, this.root); return defs; }, diff --git a/lib/deprecated.js b/lib/deprecated.js index 0cc3c1b6aa..face85c114 100644 --- a/lib/deprecated.js +++ b/lib/deprecated.js @@ -5256,7 +5256,7 @@ OpenLayers.Renderer.SVG2 = OpenLayers.Class(OpenLayers.Renderer.NG, { */ createDefs: function() { var defs = this.nodeFactory(this.container.id + "_defs", "defs"); - this.rendererRoot.appendChild(defs); + this.rendererRoot.insertBefore(defs, this.root); return defs; },