diff -ur galeon-2.0.7.umg/mozilla/EventContext.cpp galeon-2.0.7/mozilla/EventContext.cpp --- galeon-2.0.7.umg/mozilla/EventContext.cpp 2008-07-18 07:41:08.000000000 +0300 +++ galeon-2.0.7/mozilla/EventContext.cpp 2009-01-06 23:17:32.000000000 +0200 @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -518,20 +519,21 @@ nsresult EventContext::GetTargetCoords (nsIDOMEventTarget *aTarget, PRInt32 *aX, PRInt32 *aY) { /* Calculate the node coordinates relative to the widget origin */ - nsCOMPtr elem = do_QueryInterface(aTarget); + nsCOMPtr nsHTMLElem (do_QueryInterface(aTarget)); PRInt32 x = 0, y = 0; - while (elem) + while (nsHTMLElem) { PRInt32 val; - elem->GetOffsetTop(&val); y += val; - elem->GetScrollTop(&val); y -= val; - elem->GetOffsetLeft(&val); x += val; - elem->GetScrollLeft(&val); x -= val; + nsCOMPtr nsElem (do_QueryInterface(nsHTMLElem)); + nsHTMLElem->GetOffsetTop(&val); y += val; + nsElem->GetScrollTop(&val); y -= val; + nsHTMLElem->GetOffsetLeft(&val); x += val; + nsElem->GetScrollLeft(&val); x -= val; nsCOMPtr parent; - elem->GetOffsetParent(getter_AddRefs(parent)); - elem = do_QueryInterface(parent); + nsHTMLElem->GetOffsetParent (getter_AddRefs (parent)); + nsHTMLElem = do_QueryInterface(parent); } *aX = x; *aY = y;