diff --git a/layout/svg/renderer/src/cairo/nsSVGCairoGlyphGeometry.cpp b/layout/svg/renderer/src/cairo/nsSVGCairoGlyphGeometry.cpp index 29d79b74b702..f6f414783452 100644 --- a/layout/svg/renderer/src/cairo/nsSVGCairoGlyphGeometry.cpp +++ b/layout/svg/renderer/src/cairo/nsSVGCairoGlyphGeometry.cpp @@ -152,17 +152,10 @@ nsSVGCairoGlyphGeometry::Render(nsSVGGlyphFrame *aSource, nsAutoString text; aSource->GetCharacterData(text); - if (!text.Length()) { + if (text.IsEmpty()) { return NS_OK; } - nsAutoArrayPtr cp; - - nsresult rv = aSource->GetCharacterPosition(getter_Transfers(cp)); - NS_ENSURE_SUCCESS(rv, rv); - - cairo_t *ctx = cairoCanvas->GetContext(); - /* get the metrics */ nsCOMPtr metrics; { @@ -175,6 +168,13 @@ nsSVGCairoGlyphGeometry::Render(nsSVGGlyphFrame *aSource, } } + nsAutoArrayPtr cp; + + nsresult rv = aSource->GetCharacterPosition(getter_Transfers(cp)); + NS_ENSURE_SUCCESS(rv, rv); + + cairo_t *ctx = cairoCanvas->GetContext(); + PRUint16 renderMode; cairo_matrix_t matrix; canvas->GetRenderMode(&renderMode); @@ -251,6 +251,13 @@ nsSVGCairoGlyphGeometry::GetCoveredRegion(nsSVGGlyphFrame *aSource, return NS_OK; } + nsAutoString text; + aSource->GetCharacterData(text); + + if (text.IsEmpty()) { + return NS_OK; + } + /* get the metrics */ nsCOMPtr metrics; { @@ -268,12 +275,6 @@ nsSVGCairoGlyphGeometry::GetCoveredRegion(nsSVGGlyphFrame *aSource, nsresult rv = aSource->GetCharacterPosition(getter_Transfers(cp)); NS_ENSURE_SUCCESS(rv, rv); - nsAutoString text; - aSource->GetCharacterData(text); - - if (text.Length() == 0) - return NS_OK; - cairo_t *ctx = cairo_create(gSVGCairoDummySurface); rv = GetGlobalTransform(aSource, ctx, nsnull); @@ -359,7 +360,7 @@ nsSVGCairoGlyphGeometry::ContainsPoint(nsSVGGlyphFrame *aSource, nsAutoString text; aSource->GetCharacterData(text); - if (!text.Length()) { + if (text.IsEmpty()) { return NS_OK; } @@ -471,7 +472,7 @@ nsSVGCairoGlyphGeometry::GetBoundingBox(nsSVGGlyphFrame *aSource, nsAutoString text; aSource->GetCharacterData(text); - if (!text.Length()) { + if (text.IsEmpty()) { return NS_OK; }