diff --git a/modules/juce_graphics/native/juce_android_Fonts.cpp b/modules/juce_graphics/native/juce_android_Fonts.cpp index d513657e95..992dd41427 100644 --- a/modules/juce_graphics/native/juce_android_Fonts.cpp +++ b/modules/juce_graphics/native/juce_android_Fonts.cpp @@ -218,10 +218,12 @@ public: void getGlyphPositions (const String& text, Array& glyphs, Array& xOffsets) override { JNIEnv* env = getEnv(); - const int numChars = text.length(); + auto jtext = javaString (text); + + const int numChars = env->GetStringLength (jtext.get()); jfloatArray widths = env->NewFloatArray (numChars); - const int numDone = paint.callIntMethod (AndroidPaint.getTextWidths, javaString (text).get(), widths); + const int numDone = paint.callIntMethod (AndroidPaint.getTextWidths, jtext.get(), widths); HeapBlock localWidths (static_cast (numDone)); env->GetFloatArrayRegion (widths, 0, numDone, localWidths);