[OpenLayers-Trac] [OpenLayers] #404: Vector layers only rendered on first load in IE

OpenLayers trac at openlayers.org
Fri Nov 17 02:16:10 EST 2006


#404: Vector layers only rendered on first load in IE
-----------------------+----------------------------------------------------
  Reporter:  camerons  |       Owner:            
      Type:  bug       |      Status:  new       
  Priority:  critical  |   Milestone:  Vector RC1
 Component:  general   |     Version:            
Resolution:            |    Keywords:            
-----------------------+----------------------------------------------------
Comment (by camerons):

 The following sequence occurs:
 1. Vml.createRoot() called
 First Call Stack:
 Renderer.Vml.createRoot()
 Layer.Vector.moveTo()
 ..
 Map.setBaseLayer()
 Map.setCenter()
 Map.removeLayer()
 Layer.destroy()
 Layer.HTTPRequest.destroy()


 2. Vml.drawPoint() is called, a JS error is raised: 'this.root' is
 undefined.

 Call Stack:
 Renderer.Vml.drawPoint()
 Renderer.drawGeometry()
 Renderer.Vml.drawGeometry()
 Layer.Vector.addFeatures()
 Layer.GML.requestSucess()
 BaseType.bind()
 Ajax.respondToReadyState()
 ..

 3. Vml.createRoot() called again!
 Call Stack:
 Renderer.Vml.createRoot()
 Layer.Vector.moveTo()
 Map.centerAt()
 Map.zoomToExtent()
 init()
 onLoad="init()"

 ---

 It seems we have a race condition, where the draw() function is being
 called before the createRoot().
 Solution should be to have Renderer.drawGeometry() called by
 Layer.Vector.moveTo() thread/function.

-- 
Ticket URL: <http://trac.openlayers.org/ticket/404>
OpenLayers <http://openlayers.org/>
A free AJAX map viewer


More information about the Trac mailing list