Confirmed with Tim Coulter that forcing the reflow here leads to a cleaner

refresh on FF2-based browsers. FF3 seems unaffected either way, as does Safari.

(Closes #1390)


git-svn-id: http://svn.openlayers.org/trunk/openlayers@7578 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
crschmidt
2008-07-28 21:10:57 +00:00
parent 5e8b9284a5
commit 3ba5bb22f2
2 changed files with 66 additions and 4 deletions

View File

@@ -290,10 +290,6 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
if (!dragging) {
this.renderer.root.style.visibility = "hidden";
// force a reflow on gecko based browsers to actually hide the svg
if (navigator.userAgent.toLowerCase().indexOf("gecko") != -1) {
this.div.scrollLeft = this.div.scrollLeft;
}
this.div.style.left = -parseInt(this.map.layerContainerDiv.style.left) + "px";
this.div.style.top = -parseInt(this.map.layerContainerDiv.style.top) + "px";
@@ -301,6 +297,13 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
this.renderer.setExtent(extent);
this.renderer.root.style.visibility = "visible";
// Force a reflow on gecko based browsers to prevent jump/flicker.
// This seems to happen on only certain configurations; it was originally
// noticed in FF 2.0 and Linux.
if (navigator.userAgent.toLowerCase().indexOf("gecko") != -1) {
this.div.scrollLeft = this.div.scrollLeft;
}
}
if (!this.drawn || zoomChanged) {