mSubShell = nsnull;
nsHTMLFrameInnerFrame::~nsHTMLFrameInnerFrame(){   //printf("nsHTMLFrameInnerFrame destructor %X \n", this);  nsCOMPtr<nsIDOMWindow> win(do_GetInterface(mSubShell));  nsCOMPtr<nsIDOMEventTarget> eventTarget(do_QueryInterface(win));  nsCOMPtr<nsIDOMEventListener> eventListener(do_QueryInterface(mContent));  if (eventTarget && eventListener) {    eventTarget->RemoveEventListener(NS_LITERAL_STRING("load"), eventListener,                                     PR_FALSE);  }  if(mSubShell) {  // notify the pres shell that a docshell has been destroyed    if (mPresShellWeak) {      nsCOMPtr<nsIPresShell> ps = do_QueryReferent(mPresShellWeak);      if (ps) {        ps->SetSubShellFor(mContent, nsnull);      }    }    mSubShell->Destroy();  }  mSubShell = nsnull; // This is the location it was released before...                      // Not sure if there is ordering depending on this.}