From 8218bd99765855e84645cebcaccd0b7c88bdce99 Mon Sep 17 00:00:00 2001 From: Takeshich NAKAMURA Date: Sat, 26 Mar 2016 17:21:04 +0900 Subject: [PATCH] RAD-509 Floating text on Prim incorrectly displayed in the case of Japanese characters. * Fixed: Not set the UTF-8 encoded string (prim.Text,prim.MediaURL) * Fixed: Incorrect prim.TextColor value --- OpenMetaverse/ObjectManager.cs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/OpenMetaverse/ObjectManager.cs b/OpenMetaverse/ObjectManager.cs index ff66f67f..783444c2 100644 --- a/OpenMetaverse/ObjectManager.cs +++ b/OpenMetaverse/ObjectManager.cs @@ -2495,19 +2495,18 @@ namespace OpenMetaverse // Floating text if ((flags & CompressedFlags.HasText) != 0) { - string text = String.Empty; + int idx = i; while (block.Data[i] != 0) { - text += (char)block.Data[i]; i++; } - i++; // Floating text - prim.Text = text; + prim.Text = Utils.BytesToString(block.Data, idx, i - idx); + i++; // Text color - prim.TextColor = new Color4(block.Data, i, false); + prim.TextColor = new Color4(block.Data, i,false,true); i += 4; } else @@ -2518,15 +2517,14 @@ namespace OpenMetaverse // Media URL if ((flags & CompressedFlags.MediaURL) != 0) { - string text = String.Empty; + int idx = i; while (block.Data[i] != 0) { - text += (char)block.Data[i]; i++; } - i++; - prim.MediaURL = text; + prim.MediaURL = Utils.BytesToString(block.Data, idx, i - idx); + i++; } // Particle system