diff --git a/mozilla/lib/mac/UserInterface/Tables/CStandardFlexTable.cp b/mozilla/lib/mac/UserInterface/Tables/CStandardFlexTable.cp index 864444a52f7..55357e73cf1 100755 --- a/mozilla/lib/mac/UserInterface/Tables/CStandardFlexTable.cp +++ b/mozilla/lib/mac/UserInterface/Tables/CStandardFlexTable.cp @@ -2450,12 +2450,13 @@ void CStandardFlexTable::SelectionChanged() //---------------------------------------------------------------------------------------- void CStandardFlexTable::DrawTextString( const char* inText, - const FontInfo* inFontInfo, + const TextDrawingStuff & inTextInfo, SInt16 inMargin, const Rect& inBounds, SInt16 inJustification, Boolean inDoTruncate, TruncCode inTruncWhere) +// correctly handles UTF8 encoding //---------------------------------------------------------------------------------------- { Rect r = inBounds; @@ -2463,14 +2464,25 @@ void CStandardFlexTable::DrawTextString( r.left += inMargin; r.right -= inMargin; - UGraphicGizmos::PlaceTextInRect(inText, - strlen(inText), - r, - inJustification, - teCenter, - inFontInfo, - inDoTruncate, - inTruncWhere ); + if (inTextInfo.encoding == CStandardFlexTable::TextDrawingStuff::eDefault) + UGraphicGizmos::PlaceTextInRect(inText, + strlen(inText), + r, + inJustification, + teCenter, + &inTextInfo.mTextFontInfo, + inDoTruncate, + inTruncWhere ); + else + UGraphicGizmos::PlaceUTF8TextInRect(inText, + strlen(inText), + r, + inJustification, + teCenter, + &inTextInfo.mTextFontInfo, + inDoTruncate, + inTruncWhere ); + } // CStandardFlexTable::DrawTextString //---------------------------------------------------------------------------------------- diff --git a/mozilla/lib/mac/UserInterface/Tables/CStandardFlexTable.h b/mozilla/lib/mac/UserInterface/Tables/CStandardFlexTable.h index 8899e02da1f..556d466ee06 100755 --- a/mozilla/lib/mac/UserInterface/Tables/CStandardFlexTable.h +++ b/mozilla/lib/mac/UserInterface/Tables/CStandardFlexTable.h @@ -427,7 +427,7 @@ public: const Rect& inBounds); static void DrawTextString( const char* inText, - const FontInfo* inFontInfo, + const TextDrawingStuff & inTextInfo, SInt16 inMargin, const Rect& inBounds, SInt16 inJustification = teFlushLeft,