[OpenLayers-Users] Re: SOLVED - Firefox nsIXMLHttpRequest.send
throwing 0xc1f30001 (NS_ERROR_NOT_INITIALIZED)
Eric Lemoine
eric.lemoine at camptocamp.com
Wed May 11 01:07:28 EDT 2011
On Tuesday, May 10, 2011, flexer <Andrey.Aniskovets at gmail.com> wrote:
> I have got the same error (Exception... "Component returned failure code:
> 0xc1f30001 .... )
> And I have found another solution:
>
> Do NOT call "this._object.send(vData);"
> if "this._object.abort();" has been called (see XMLHttpRequest.js).
>
> -----------------------
> Look at Request.js:
> window.setTimeout(function(){
> if (request._aborted !== true) {
> request.send(config.data);
> }
> }, 0);
>
> and look at XMLHttpRequest.js :
> cXMLHttpRequest.prototype.send = function(vData) {
> // Add method sniffer
> if (cXMLHttpRequest.onsend)
> ....
>
> and look at XMLHttpRequest.js:
> cXMLHttpRequest.prototype.abort = function() {
> ....
> // BUGFIX: Gecko - unnecessary DONE when aborting
> if (this.readyState > cXMLHttpRequest.UNSENT)
> this._aborted = true;
> this._object.abort();
> ....
> -----------------------
>
> I have added to XMLHttpRequest.js these lines and the problem was solved:
>
> cXMLHttpRequest.prototype.send = function(vData) {
> if (!!this._isAbortCalled)
> return;
> ....
>
> cXMLHttpRequest.prototype.abort = function() {
> this._isAbortCalled = true;
> ....
>
> ---------------------
> I.e.
> try { this._object.send(vData); } catch (e) {}
> looks like a workaround.
> What do you think?
> Could you check my changes on your system if it solves your problem?
Hi
Is the problem reproducible on one of the OpenLayers examples?
(http://www.openlayers.org/dev/examples)
What version of OpenLayers do you use? Do you have the problem with
OpenLayers trunk?
XMLHttpRequest.js already includes a state variable to know if abort()
has been called, namely _aborted. But abort() sets _aborted to true
only if the XHR status is greater than UNSET. Could you try to have
abort() unconditionally set _aborted to true and see if that fixes it?
Thanks.
--
Eric Lemoine
Camptocamp France SAS
Savoie Technolac, BP 352
73377 Le Bourget du Lac, Cedex
Tel : 00 33 4 79 44 44 96
Mail : eric.lemoine at camptocamp.com
http://www.camptocamp.com
More information about the Users
mailing list