From 0e65fa8a88cc91ccb32fe7be3fa4bd176191fb74 Mon Sep 17 00:00:00 2001 From: "roc+%cs.cmu.edu" Date: Tue, 15 May 2007 22:19:54 +0000 Subject: [PATCH] Bug 379635. Don't return random min-widths for native scrollbars when the scrollbar rect is empty. r=cbarrett, sr=dmose git-svn-id: svn://10.0.0.236/trunk@226481 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/widget/src/cocoa/nsNativeThemeCocoa.mm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mozilla/widget/src/cocoa/nsNativeThemeCocoa.mm b/mozilla/widget/src/cocoa/nsNativeThemeCocoa.mm index 181314ca916..f6dc7f016e7 100644 --- a/mozilla/widget/src/cocoa/nsNativeThemeCocoa.mm +++ b/mozilla/widget/src/cocoa/nsNativeThemeCocoa.mm @@ -1146,8 +1146,15 @@ nsNativeThemeCocoa::GetMinimumWidgetSize(nsIRenderingContext* aContext, nsIFrame *scrollbarFrame = GetParentScrollbarFrame(aFrame); if (!scrollbarFrame) return NS_ERROR_FAILURE; + nsRect scrollbarRect = scrollbarFrame->GetRect(); + *aIsOverridable = PR_FALSE; + + if (scrollbarRect.IsEmpty()) { + // just return (0,0) + return NS_OK; + } + // We need to get the device context to convert from app units :( - nsRect scrollbarRect = scrollbarFrame->GetRect(); nsCOMPtr dctx; aContext->GetDeviceContext(*getter_AddRefs(dctx)); PRInt32 p2a = dctx->AppUnitsPerDevPixel(); @@ -1171,7 +1178,6 @@ nsNativeThemeCocoa::GetMinimumWidgetSize(nsIRenderingContext* aContext, aResult->SizeTo(nscoord(thumbRect.size.width), nscoord(thumbRect.size.height - thumbAdjust)); else aResult->SizeTo(nscoord(thumbRect.size.width - thumbAdjust), nscoord(thumbRect.size.height)); - *aIsOverridable = PR_FALSE; break; }