diff options
Diffstat (limited to 'graphics/java')
| -rw-r--r-- | graphics/java/android/graphics/Paint.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java index eefad8d0e4de..afd320d48c51 100644 --- a/graphics/java/android/graphics/Paint.java +++ b/graphics/java/android/graphics/Paint.java @@ -2184,9 +2184,13 @@ public class Paint { contextCount, isRtl, outMetrics); } else { char[] buf = TemporaryBuffer.obtain(contextCount); - TextUtils.getChars(text, contextStart, contextStart + contextCount, buf, 0); - nGetFontMetricsIntForText(mNativePaint, buf, start - contextStart, count, 0, - contextCount, isRtl, outMetrics); + try { + TextUtils.getChars(text, contextStart, contextStart + contextCount, buf, 0); + nGetFontMetricsIntForText(mNativePaint, buf, start - contextStart, count, 0, + contextCount, isRtl, outMetrics); + } finally { + TemporaryBuffer.recycle(buf); + } } } |