diff --git a/content/html/content/src/nsGenericHTMLElement.cpp b/content/html/content/src/nsGenericHTMLElement.cpp index 258510114630..145495640f66 100644 --- a/content/html/content/src/nsGenericHTMLElement.cpp +++ b/content/html/content/src/nsGenericHTMLElement.cpp @@ -624,13 +624,20 @@ nsGenericHTMLElement::GetOffsetHeight(PRInt32* aOffsetHeight) nsresult nsGenericHTMLElement::GetOffsetParent(nsIDOMElement** aOffsetParent) { + NS_ENSURE_ARG_POINTER(aOffsetParent); + nsRect rcFrame; nsCOMPtr parent; nsresult res = GetOffsetRect(rcFrame, nsHTMLAtoms::body, getter_AddRefs(parent)); if (NS_SUCCEEDED(res)) { - res = parent->QueryInterface(NS_GET_IID(nsIDOMElement), (void**)aOffsetParent); + if (parent) { + res = parent->QueryInterface(NS_GET_IID(nsIDOMElement), + (void**)aOffsetParent); + } else { + *aOffsetParent = nsnull; + } } return res; } diff --git a/layout/html/content/src/nsGenericHTMLElement.cpp b/layout/html/content/src/nsGenericHTMLElement.cpp index 258510114630..145495640f66 100644 --- a/layout/html/content/src/nsGenericHTMLElement.cpp +++ b/layout/html/content/src/nsGenericHTMLElement.cpp @@ -624,13 +624,20 @@ nsGenericHTMLElement::GetOffsetHeight(PRInt32* aOffsetHeight) nsresult nsGenericHTMLElement::GetOffsetParent(nsIDOMElement** aOffsetParent) { + NS_ENSURE_ARG_POINTER(aOffsetParent); + nsRect rcFrame; nsCOMPtr parent; nsresult res = GetOffsetRect(rcFrame, nsHTMLAtoms::body, getter_AddRefs(parent)); if (NS_SUCCEEDED(res)) { - res = parent->QueryInterface(NS_GET_IID(nsIDOMElement), (void**)aOffsetParent); + if (parent) { + res = parent->QueryInterface(NS_GET_IID(nsIDOMElement), + (void**)aOffsetParent); + } else { + *aOffsetParent = nsnull; + } } return res; }