rem: rootShell.observerService.Notify(this.mTxMgrShell.mDataSource.mDataSource, "vfd-focus", this); 
add: try { rootShell.observerService.Notify(this.mTxMgrShell.mDataSource.mDataSource, "vfd-focus", this); } catch (e) {  } 
context:   startup: function ()  {    // window parameters    this.mParams = window.arguments[0];        // load the document    var content = this.getContent(false);    var docURL = this.mParams.documentURL || "chrome://vixen/content/vfd/scratch.xul";    content.setAttribute("src", docURL);        var windowNode = document.getElementById("vxVFD");    windowNode.setAttribute("url", docURL);        // initialise the transaction manager shell    this.mTxMgrShell = new vxVFDTransactionManager();        // initialise the selection manager    this.mSelection = new vxVFDSelectionManager();        // set unique identifier    this.mDocumentID = Math.floor(((new Date()).getUTCMilliseconds())*Math.random()*100000);        if (this.mTxMgrShell) {      var rootShell = vxUtils.getRootShell();      rootShell.observerService.Notify(this.mTxMgrShell.mDataSource.mDataSource,                                        "vfd-focus", this);    }  },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/8852c23f1bacfa3897d66b4c2199a124aa5bda8d/vfd.js/buggy/extensions/vixen/resources/content/vfd/vfd.js