From 5f794d3e599c45d37fed508de24216c8888a2fba Mon Sep 17 00:00:00 2001
From: Teravus Ovares (Dan Olivares)
Date: Tue, 25 Aug 2009 17:36:04 -0400
Subject: A slightly modified version of
http://opensimulator.org/mantis/view.php?id=4040 by jhurliman. The patch
didn't match up, so I winged it here. My effort to manually merge the patch
seems to make sense, so I'm going to commit it.
---
OpenSim/Framework/AvatarAppearance.cs | 7 +++++++
.../Grid/UserServer.Modules/UserServerAvatarAppearanceModule.cs | 7 ++++++-
prebuild.xml | 1 +
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs
index 1fb01ba..940ae3b 100644
--- a/OpenSim/Framework/AvatarAppearance.cs
+++ b/OpenSim/Framework/AvatarAppearance.cs
@@ -510,6 +510,13 @@ namespace OpenSim.Framework
if (te != null && te.Length > 0)
Texture = new Primitive.TextureEntry(te, 0, te.Length);
}
+ else
+ {
+ // We shouldn't be receiving appearance hashtables without a TextureEntry,
+ // but in case we do this will prevent a failure when saving to the database
+ Texture = GetDefaultTexture();
+ }
+
AvatarHeight = (float)Convert.ToDouble((string)h["avatar_height"]);
diff --git a/OpenSim/Grid/UserServer.Modules/UserServerAvatarAppearanceModule.cs b/OpenSim/Grid/UserServer.Modules/UserServerAvatarAppearanceModule.cs
index 7941679..88918d1 100644
--- a/OpenSim/Grid/UserServer.Modules/UserServerAvatarAppearanceModule.cs
+++ b/OpenSim/Grid/UserServer.Modules/UserServerAvatarAppearanceModule.cs
@@ -110,7 +110,12 @@ namespace OpenSim.Grid.UserServer.Modules
if (requestData.Contains("owner"))
{
AvatarAppearance appearance = new AvatarAppearance(requestData);
- m_userDataBaseService.UpdateUserAppearance(new UUID((string)requestData["owner"]), appearance);
+
+ // TODO: Sometime in the future we may have a database layer that is capable of updating appearance when
+ // the TextureEntry is null. When that happens, this check can be removed
+ if (appearance.Texture != null)
+ m_userDataBaseService.UpdateUserAppearance(new UUID((string)requestData["owner"]), appearance);
+
responseData = new Hashtable();
responseData["returnString"] = "TRUE";
}
diff --git a/prebuild.xml b/prebuild.xml
index 0cf88c3..c4d81cc 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -1055,6 +1055,7 @@
+
--
cgit v1.1