From 7fbae9f345e110cdaf9ad4a4ee2ff1c9eae85148 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Thu, 22 Dec 2011 01:14:04 +0100 Subject: [PATCH] Fixing IFrame tile layers. A problem introduced with 5fda8835da627bc97604b68335db724e4fff85e5 can easily be solved by re-adding a check for imgDiv and a strict type check for useIFrame. Thanks @elemoine for pointing out that there could be a problem. --- lib/OpenLayers/Tile/Image.js | 3 +++ lib/OpenLayers/Tile/Image/IFrame.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/OpenLayers/Tile/Image.js b/lib/OpenLayers/Tile/Image.js index 2da90f42e3..2750e205d8 100644 --- a/lib/OpenLayers/Tile/Image.js +++ b/lib/OpenLayers/Tile/Image.js @@ -339,6 +339,9 @@ OpenLayers.Tile.Image = OpenLayers.Class(OpenLayers.Tile, { * or if it's currently loading. */ createBackBuffer: function() { + if (!this.imgDiv || this.isLoading) { + return; + } var backBuffer; if (this.frame) { backBuffer = this.frame.cloneNode(false); diff --git a/lib/OpenLayers/Tile/Image/IFrame.js b/lib/OpenLayers/Tile/Image/IFrame.js index f1ad52f1d4..17fe684f89 100644 --- a/lib/OpenLayers/Tile/Image/IFrame.js +++ b/lib/OpenLayers/Tile/Image/IFrame.js @@ -204,7 +204,7 @@ OpenLayers.Tile.Image.IFrame = { */ createBackBuffer: function() { var backBuffer; - if(!this.useIFrame) { + if(this.useIFrame === false) { backBuffer = OpenLayers.Tile.Image.prototype.createBackBuffer.call(this); } return backBuffer;