add: var appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"] .getService(Components.interfaces.nsIAppStartup); appStartup.exitLastWindowClosingSurvivalArea(); 
context:     onStopRequest: function(request, ctxt, status, errorMsg)    {        ctxt = ctxt.wrappedJSObject;        var channel;        try {            channel = request.QueryInterface(Components.interfaces.nsIHttpChannel);            LOG(channel.requestSucceeded);        } catch(e) {        }        if (channel && !channel.requestSucceeded) {            ctxt.mObserver.onError(channel.requestSucceeded,                                   "Publishing the calendar file failed\n" +                                       "Status code: "+channel.responseStatus+": "+channel.responseStatusText+"\n");        }        else if (!channel && !Components.isSuccessCode(request.status)) {            ctxt.mObserver.onError(request.status,                                   "Publishing the calendar file failed\n" +                                       "Status code: "+request.status.toString(16)+"\n");        }        // Allow the hook to grab data of the channel, like the new etag        ctxt.mHooks.onAfterPut(channel);        ctxt.unlock();    },
meta: 5459	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/5459/8d3bc0f9881981b4b2d51850ec5164b3570639ed/calICSCalendar.js/buggy/calendar/providers/ics/calICSCalendar.js