diff options
author | John Hurliman | 2009-09-30 15:53:03 -0700 |
---|---|---|
committer | John Hurliman | 2009-09-30 15:53:03 -0700 |
commit | 5dfd2643dfc530280e5dcd0056b59add7d49f313 (patch) | |
tree | 1e508a2e9be42eda630f0b97c4fac9606a288a7e /OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |
parent | Prevent null data being sent to the decoder (diff) | |
download | opensim-SC_OLD-5dfd2643dfc530280e5dcd0056b59add7d49f313.zip opensim-SC_OLD-5dfd2643dfc530280e5dcd0056b59add7d49f313.tar.gz opensim-SC_OLD-5dfd2643dfc530280e5dcd0056b59add7d49f313.tar.bz2 opensim-SC_OLD-5dfd2643dfc530280e5dcd0056b59add7d49f313.tar.xz |
* Change the signature of the agent set appearance callback to prevent unnecessary serialization/deserialization of TextureEntry objects and allow TextureEntry to be inspected for missing bakes
* Inspect incoming TextureEntry updates for bakes that do not exist on the simulator and request the missing textures
* Properly handle appearance updates that do not have a TextureEntry set
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index dae525d..9788f40 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -5272,13 +5272,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5272 | // for the client session anyway, in order to protect ourselves against bad code in plugins | 5272 | // for the client session anyway, in order to protect ourselves against bad code in plugins |
5273 | try | 5273 | try |
5274 | { | 5274 | { |
5275 | List<byte> visualparams = new List<byte>(); | 5275 | byte[] visualparams = new byte[appear.VisualParam.Length]; |
5276 | foreach (AgentSetAppearancePacket.VisualParamBlock x in appear.VisualParam) | 5276 | for (int i = 0; i < appear.VisualParam.Length; i++) |
5277 | { | 5277 | visualparams[i] = appear.VisualParam[i].ParamValue; |
5278 | visualparams.Add(x.ParamValue); | 5278 | |
5279 | } | 5279 | Primitive.TextureEntry te = null; |
5280 | if (appear.ObjectData.TextureEntry.Length > 1) | ||
5281 | te = new Primitive.TextureEntry(appear.ObjectData.TextureEntry, 0, appear.ObjectData.TextureEntry.Length); | ||
5280 | 5282 | ||
5281 | handlerSetAppearance(appear.ObjectData.TextureEntry, visualparams); | 5283 | handlerSetAppearance(te, visualparams); |
5282 | } | 5284 | } |
5283 | catch (Exception e) | 5285 | catch (Exception e) |
5284 | { | 5286 | { |