diff --git a/layout/forms/nsFileControlFrame.cpp b/layout/forms/nsFileControlFrame.cpp index 43e6d225e118..02bbab90c03f 100644 --- a/layout/forms/nsFileControlFrame.cpp +++ b/layout/forms/nsFileControlFrame.cpp @@ -678,7 +678,10 @@ nsFileControlFrame::Paint(nsIPresContext* aPresContext, if (NS_SUCCEEDED(IsVisibleForPainting(aPresContext, aRenderingContext, PR_TRUE, &isVisible)) && !isVisible) { return NS_OK; } - return nsAreaFrame::Paint(aPresContext, aRenderingContext, aDirtyRect, aWhichLayer); + nsresult rv = nsAreaFrame::Paint(aPresContext, aRenderingContext, aDirtyRect, aWhichLayer); + if (NS_FAILED(rv)) return rv; + + return nsFrame::Paint(aPresContext, aRenderingContext, aDirtyRect, aWhichLayer); } //---------------------------------------------------------------------- diff --git a/layout/html/forms/src/nsFileControlFrame.cpp b/layout/html/forms/src/nsFileControlFrame.cpp index 43e6d225e118..02bbab90c03f 100644 --- a/layout/html/forms/src/nsFileControlFrame.cpp +++ b/layout/html/forms/src/nsFileControlFrame.cpp @@ -678,7 +678,10 @@ nsFileControlFrame::Paint(nsIPresContext* aPresContext, if (NS_SUCCEEDED(IsVisibleForPainting(aPresContext, aRenderingContext, PR_TRUE, &isVisible)) && !isVisible) { return NS_OK; } - return nsAreaFrame::Paint(aPresContext, aRenderingContext, aDirtyRect, aWhichLayer); + nsresult rv = nsAreaFrame::Paint(aPresContext, aRenderingContext, aDirtyRect, aWhichLayer); + if (NS_FAILED(rv)) return rv; + + return nsFrame::Paint(aPresContext, aRenderingContext, aDirtyRect, aWhichLayer); } //----------------------------------------------------------------------