diff options
author | Melanie | 2011-11-06 20:00:47 +0000 |
---|---|---|
committer | Melanie | 2011-11-06 20:00:47 +0000 |
commit | fa992a020ca9b476a992534c714e46385b74b44d (patch) | |
tree | 5ddf3d3c2ad303ff9b82c892b3fdfd1cc9c5543e /OpenSim | |
parent | Allow HG and other scene presences not linked to a user account to function. (diff) | |
parent | HUD attachments: Removes some more messages sent to wrong clients. (diff) | |
download | opensim-SC-fa992a020ca9b476a992534c714e46385b74b44d.zip opensim-SC-fa992a020ca9b476a992534c714e46385b74b44d.tar.gz opensim-SC-fa992a020ca9b476a992534c714e46385b74b44d.tar.bz2 opensim-SC-fa992a020ca9b476a992534c714e46385b74b44d.tar.xz |
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 11 | ||||
-rw-r--r-- | OpenSim/Services/AssetService/AssetService.cs | 10 |
2 files changed, 19 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 1e111e5..5465ca4 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -3164,16 +3164,25 @@ namespace OpenSim.Region.Framework.Scenes | |||
3164 | public void SendKillObject(uint localID) | 3164 | public void SendKillObject(uint localID) |
3165 | { | 3165 | { |
3166 | SceneObjectPart part = GetSceneObjectPart(localID); | 3166 | SceneObjectPart part = GetSceneObjectPart(localID); |
3167 | UUID attachedAvatar = UUID.Zero; | ||
3168 | |||
3167 | if (part != null) // It is a prim | 3169 | if (part != null) // It is a prim |
3168 | { | 3170 | { |
3169 | if (!part.ParentGroup.IsDeleted) // Valid | 3171 | if (!part.ParentGroup.IsDeleted) // Valid |
3170 | { | 3172 | { |
3171 | if (part.ParentGroup.RootPart != part) // Child part | 3173 | if (part.ParentGroup.RootPart != part) // Child part |
3172 | return; | 3174 | return; |
3175 | |||
3176 | if (part.ParentGroup.IsAttachment && part.ParentGroup.AttachmentPoint >= 31 && part.ParentGroup.AttachmentPoint <= 38) | ||
3177 | attachedAvatar = part.ParentGroup.AttachedAvatar; | ||
3173 | } | 3178 | } |
3174 | } | 3179 | } |
3175 | 3180 | ||
3176 | ForEachClient(delegate(IClientAPI client) { client.SendKillObject(m_regionHandle, localID); }); | 3181 | ForEachClient(delegate(IClientAPI client) |
3182 | { | ||
3183 | if (attachedAvatar == UUID.Zero || attachedAvatar == client.AgentId) | ||
3184 | client.SendKillObject(m_regionHandle, localID); | ||
3185 | }); | ||
3177 | } | 3186 | } |
3178 | 3187 | ||
3179 | #endregion | 3188 | #endregion |
diff --git a/OpenSim/Services/AssetService/AssetService.cs b/OpenSim/Services/AssetService/AssetService.cs index 2ea513b..b3af8e3 100644 --- a/OpenSim/Services/AssetService/AssetService.cs +++ b/OpenSim/Services/AssetService/AssetService.cs | |||
@@ -117,7 +117,15 @@ namespace OpenSim.Services.AssetService | |||
117 | return null; | 117 | return null; |
118 | } | 118 | } |
119 | 119 | ||
120 | return m_Database.GetAsset(assetID); | 120 | try |
121 | { | ||
122 | return m_Database.GetAsset(assetID); | ||
123 | } | ||
124 | catch (Exception e) | ||
125 | { | ||
126 | m_log.ErrorFormat("[ASSET SERVICE]: Exception getting asset {0} {1}", assetID, e); | ||
127 | return null; | ||
128 | } | ||
121 | } | 129 | } |
122 | 130 | ||
123 | public virtual AssetBase GetCached(string id) | 131 | public virtual AssetBase GetCached(string id) |