diff --git a/content/xul/content/src/nsXULElement.cpp b/content/xul/content/src/nsXULElement.cpp index 0ced69336d6f..6d5e7bc84939 100644 --- a/content/xul/content/src/nsXULElement.cpp +++ b/content/xul/content/src/nsXULElement.cpp @@ -2343,7 +2343,8 @@ nsXULElement::AddPopupListener(nsIAtom* aName) rv = SetProperty(nsXULAtoms::popuplistener, popupListener, PopupListenerPropertyDtor); NS_ENSURE_SUCCESS(rv, rv); - NS_ADDREF(popupListener); + nsIXULPopupListener* listener = popupListener; + NS_ADDREF(listener); target->AddEventListener(NS_LITERAL_STRING("mousedown"), eventListener, PR_FALSE); target->AddEventListener(NS_LITERAL_STRING("contextmenu"), eventListener, PR_FALSE); return NS_OK; diff --git a/layout/xul/base/src/nsRootBoxFrame.cpp b/layout/xul/base/src/nsRootBoxFrame.cpp index 60642b5e33b0..730a8e0534a6 100644 --- a/layout/xul/base/src/nsRootBoxFrame.cpp +++ b/layout/xul/base/src/nsRootBoxFrame.cpp @@ -351,7 +351,8 @@ nsRootBoxFrame::AddTooltipSupport(nsIContent* aNode) nsresult rv = aNode->SetProperty(nsXULAtoms::tooltiplistener, listener, TooltipListenerPropertyDtor); NS_ENSURE_SUCCESS(rv, rv); - NS_ADDREF(listener); + nsXULTooltipListener* listenerRef = listener; + NS_ADDREF(listenerRef); } return NS_OK; }