diff options
author | Melanie Thielker | 2015-11-01 19:11:14 +0100 |
---|---|---|
committer | Melanie Thielker | 2015-11-01 19:11:14 +0100 |
commit | 69585a4824a7814bbe543d624de6c3627e0b927b (patch) | |
tree | 5d4bb6480906000f019c0d456939b24f5dfd8ab4 /OpenSim/Region/CoreModules/Avatar | |
parent | Merge branch 'master' into avinationmerge (diff) | |
download | opensim-SC-69585a4824a7814bbe543d624de6c3627e0b927b.zip opensim-SC-69585a4824a7814bbe543d624de6c3627e0b927b.tar.gz opensim-SC-69585a4824a7814bbe543d624de6c3627e0b927b.tar.bz2 opensim-SC-69585a4824a7814bbe543d624de6c3627e0b927b.tar.xz |
More plumbing of the EntityTransferContext (not yet complete)
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index 0d3b39e..cdcd6b9 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -853,7 +853,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
853 | 853 | ||
854 | if (invService.GetRootFolder(userID) != null) | 854 | if (invService.GetRootFolder(userID) != null) |
855 | { | 855 | { |
856 | for (int i = 0; i < AvatarWearable.MAX_WEARABLES; i++) | 856 | for (int i = 0; i < appearance.Wearables.Length; i++) |
857 | { | 857 | { |
858 | for (int j = 0; j < appearance.Wearables[i].Count; j++) | 858 | for (int j = 0; j < appearance.Wearables[i].Count; j++) |
859 | { | 859 | { |
@@ -1258,8 +1258,17 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
1258 | 1258 | ||
1259 | foreach (AvatarWearingArgs.Wearable wear in e.NowWearing) | 1259 | foreach (AvatarWearingArgs.Wearable wear in e.NowWearing) |
1260 | { | 1260 | { |
1261 | if (wear.Type < AvatarWearable.MAX_WEARABLES) | 1261 | // If the wearable type is larger than the current array, expand it |
1262 | avatAppearance.Wearables[wear.Type].Add(wear.ItemID, UUID.Zero); | 1262 | if (avatAppearance.Wearables.Length <= wear.Type) |
1263 | { | ||
1264 | int currentLength = avatAppearance.Wearables.Length; | ||
1265 | AvatarWearable[] wears = avatAppearance.Wearables; | ||
1266 | Array.Resize(ref wears, wear.Type + 1); | ||
1267 | for (int i = currentLength ; i <= wear.Type ; i++) | ||
1268 | wears[i] = new AvatarWearable(); | ||
1269 | avatAppearance.Wearables = wears; | ||
1270 | } | ||
1271 | avatAppearance.Wearables[wear.Type].Add(wear.ItemID, UUID.Zero); | ||
1263 | } | 1272 | } |
1264 | 1273 | ||
1265 | avatAppearance.GetAssetsFrom(sp.Appearance); | 1274 | avatAppearance.GetAssetsFrom(sp.Appearance); |