aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Addons/Groups/GroupsModule.cs13
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs13
2 files changed, 20 insertions, 6 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 }
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
index d6bf552..62f863b 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs
@@ -271,8 +271,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
271 // There might be some problem with the thread we're generating this on but not 271 // There might be some problem with the thread we're generating this on but not
272 // doing the update at this time causes problems (Mantis #7920 and #7915) 272 // doing the update at this time causes problems (Mantis #7920 and #7915)
273 // TODO: move sending this update to a later time in the rootification of the client. 273 // TODO: move sending this update to a later time in the rootification of the client.
274 if(!sp.isNPC) 274 SendAgentGroupDataUpdate(sp.ControllingClient, false);
275 SendAgentGroupDataUpdate(sp.ControllingClient, false);
276 } 275 }
277 276
278 private void OnMakeChild(ScenePresence sp) 277 private void OnMakeChild(ScenePresence sp)
@@ -1388,6 +1387,11 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1388 { 1387 {
1389 if (m_debugEnabled) m_log.InfoFormat("[GROUPS]: {0} called for {1}", System.Reflection.MethodBase.GetCurrentMethod().Name, remoteClient.Name); 1388 if (m_debugEnabled) m_log.InfoFormat("[GROUPS]: {0} called for {1}", System.Reflection.MethodBase.GetCurrentMethod().Name, remoteClient.Name);
1390 1389
1390 // NPCs currently don't have a CAPs structure or event queues. There is a strong argument for conveying this information
1391 // to them anyway since it makes writing server-side bots a lot easier, but for now we don't do anything.
1392 if (remoteClient.SceneAgent.PresenceType == PresenceType.Npc)
1393 return;
1394
1391 // TODO: All the client update functions need to be reexamined because most do too much and send too much stuff 1395 // TODO: All the client update functions need to be reexamined because most do too much and send too much stuff
1392 1396
1393 UUID agentID = GetRequestingAgentID(remoteClient); 1397 UUID agentID = GetRequestingAgentID(remoteClient);
@@ -1396,7 +1400,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1396 1400
1397 GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, agentID); 1401 GroupMembershipData[] membershipArray = GetProfileListedGroupMemberships(remoteClient, agentID);
1398 IEventQueue eq = remoteClient.Scene.RequestModuleInterface<IEventQueue>(); 1402 IEventQueue eq = remoteClient.Scene.RequestModuleInterface<IEventQueue>();
1399 eq.GroupMembershipData(GetRequestingAgentID(remoteClient), dataForClientID, membershipArray); 1403 if (eq != null)
1404 eq.GroupMembershipData(GetRequestingAgentID(remoteClient), dataForClientID, membershipArray);
1405 else
1406 remoteClient.SendGroupMembership(membershipArray);
1400 1407
1401 remoteClient.RefreshGroupMembership(); 1408 remoteClient.RefreshGroupMembership();
1402 } 1409 }