diff --git a/layout/xul/base/src/nsListBoxBodyFrame.cpp b/layout/xul/base/src/nsListBoxBodyFrame.cpp index 32b9a97a0098..5e8687ee7915 100644 --- a/layout/xul/base/src/nsListBoxBodyFrame.cpp +++ b/layout/xul/base/src/nsListBoxBodyFrame.cpp @@ -237,23 +237,18 @@ nsListBoxBodyFrame::Init(nsIContent* aContent, nsIFrame* aPrevInFlow) { nsresult rv = nsBoxFrame::Init(aContent, aParent, aPrevInFlow); - + NS_ENSURE_SUCCESS(rv, rv); nsIScrollableFrame* scrollFrame = nsLayoutUtils::GetScrollableFrameFor(this); - if (!scrollFrame) - return rv; - - nsIScrollableView* scrollableView = scrollFrame->GetScrollableView(); - scrollableView->SetScrollProperties(NS_SCROLL_PROPERTY_ALWAYS_BLIT); - - nsIBox* verticalScrollbar = scrollFrame->GetScrollbarBox(PR_TRUE); - if (!verticalScrollbar) { - NS_ERROR("Unable to install the scrollbar mediator on the listbox widget. You must be using GFX scrollbars."); - return NS_ERROR_FAILURE; + if (scrollFrame) { + nsIScrollableView* scrollableView = scrollFrame->GetScrollableView(); + scrollableView->SetScrollProperties(NS_SCROLL_PROPERTY_ALWAYS_BLIT); + nsIBox* verticalScrollbar = scrollFrame->GetScrollbarBox(PR_TRUE); + if (verticalScrollbar) { + nsIScrollbarFrame* scrollbarFrame = nsnull; + CallQueryInterface(verticalScrollbar, &scrollbarFrame); + scrollbarFrame->SetScrollbarMediatorContent(GetContent()); + } } - - nsCOMPtr scrollbarFrame(do_QueryInterface(verticalScrollbar)); - scrollbarFrame->SetScrollbarMediatorContent(GetContent()); - nsCOMPtr fm; PresContext()->DeviceContext()->GetMetricsFor( GetStyleContext()->GetStyleFont()->mFont, *getter_AddRefs(fm)