From c1929b9f84ffbfff0748e2d16575cff5f490915a Mon Sep 17 00:00:00 2001 From: "rbs%maths.uq.edu.au" Date: Wed, 27 Feb 2002 01:33:11 +0000 Subject: [PATCH] fix crasher bug 110898 by doing a null check before deferencing a pointer that can be null in extreme situations where a font could not be realized, r=shanjian, sr=attinasi, a=shaver git-svn-id: svn://10.0.0.236/trunk@115398 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/gfx/src/windows/nsRenderingContextWin.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mozilla/gfx/src/windows/nsRenderingContextWin.cpp b/mozilla/gfx/src/windows/nsRenderingContextWin.cpp index 8b6663affc9..96740a611e2 100644 --- a/mozilla/gfx/src/windows/nsRenderingContextWin.cpp +++ b/mozilla/gfx/src/windows/nsRenderingContextWin.cpp @@ -2061,12 +2061,16 @@ nsRenderingContextWin::GetTextDimensions(const PRUnichar* aString, aLastWordDimensions.Clear(); aLastWordDimensions.width = -1; + PRInt32 count = fonts.Count(); + if (!count) + return NS_OK; nsFontWin* fontWin = (nsFontWin*)fonts[0]; + NS_ASSERTION(fontWin, "internal error in do_BreakGetTextDimensions"); aDimensions.ascent = fontWin->mMaxAscent; aDimensions.descent = fontWin->mMaxDescent; // fast path - normal case, quick return if there is only one font - if (fonts.Count() == 1) + if (count == 1) return NS_OK; // get the last break index.