diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Addons/Groups/GroupsModule.cs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Addons/Groups/GroupsModule.cs b/OpenSim/Addons/Groups/GroupsModule.cs index 2d5ebea..3336e94 100644 --- a/OpenSim/Addons/Groups/GroupsModule.cs +++ b/OpenSim/Addons/Groups/GroupsModule.cs | |||
@@ -249,8 +249,7 @@ namespace OpenSim.Groups | |||
249 | // There might be some problem with the thread we're generating this on but not | 249 | // There might be some problem with the thread we're generating this on but not |
250 | // doing the update at this time causes problems (Mantis #7920 and #7915) | 250 | // doing the update at this time causes problems (Mantis #7920 and #7915) |
251 | // TODO: move sending this update to a later time in the rootification of the client. | 251 | // TODO: move sending this update to a later time in the rootification of the client. |
252 | if(!sp.isNPC) | 252 | SendAgentGroupDataUpdate(sp.ControllingClient, false); |
253 | SendAgentGroupDataUpdate(sp.ControllingClient, false); | ||
254 | } | 253 | } |
255 | 254 | ||
256 | private void OnMakeChild(ScenePresence sp) | 255 | private void OnMakeChild(ScenePresence sp) |
@@ -1266,6 +1265,11 @@ namespace OpenSim.Groups | |||
1266 | { | 1265 | { |
1267 | if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called for {1}", System.Reflection.MethodBase.GetCurrentMethod().Name, remoteClient.Name); | 1266 | if (m_debugEnabled) m_log.InfoFormat("[Groups]: {0} called for {1}", System.Reflection.MethodBase.GetCurrentMethod().Name, remoteClient.Name); |
1268 | 1267 | ||
1268 | // NPCs currently don't have a CAPs structure or event queues. There is a strong argument for conveying this information | ||
1269 | // to them anyway since it makes writing server-side bots a lot easier, but for now we don't do anything. | ||
1270 | if (remoteClient.SceneAgent.PresenceType == PresenceType.Npc) | ||
1271 | return; | ||
1272 | |||
1269 | // TODO: All the client update functions need to be reexamined because most do too much and send too much stuff | 1273 | // TODO: All the client update functions need to be reexamined because most do too much and send too much stuff |
1270 | 1274 | ||
1271 | UUID agentID = GetRequestingAgentID(remoteClient); | 1275 | UUID agentID = GetRequestingAgentID(remoteClient); |
@@ -1274,7 +1278,10 @@ namespace OpenSim.Groups | |||
1274 | 1278 | ||
1275 | GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, agentID); | 1279 | GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, agentID); |
1276 | IEventQueue eq = remoteClient.Scene.RequestModuleInterface<IEventQueue>(); | 1280 | IEventQueue eq = remoteClient.Scene.RequestModuleInterface<IEventQueue>(); |
1277 | eq.GroupMembershipData(GetRequestingAgentID(remoteClient), dataForClientID, membershipArray); | 1281 | if (eq != null) |
1282 | eq.GroupMembershipData(GetRequestingAgentID(remoteClient), dataForClientID, membershipArray); | ||
1283 | else | ||
1284 | remoteClient.SendGroupMembership(membershipArray); | ||
1278 | 1285 | ||
1279 | remoteClient.RefreshGroupMembership(); | 1286 | remoteClient.RefreshGroupMembership(); |
1280 | } | 1287 | } |