Fix bug where objects couldn't be set back to the "none" group.

This is handled by treating UUID.Zero as a special case.
Currently, asking for the "none" group returns nothing because XMLRPC groups, at least, is not properly handling this case.
It may be better in the future to have GroupsModule return an appropriate GroupsData structure instead or require the underlying services to behave appropriately.
This is a further component of http://opensimulator.org/mantis/view.php?id=5588
iar_mods
Justin Clark-Casey (justincc) 2011-12-17 02:35:08 +00:00
parent f9137c923b
commit 684482352c
1 changed files with 13 additions and 8 deletions

View File

@ -331,6 +331,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
private void HandleObjectGroupUpdate(
IClientAPI remoteClient, UUID GroupID, uint objectLocalID, UUID Garbage)
{
// XXX: Might be better to get rid of this special casing and have GetMembershipData return something
// reasonable for a UUID.Zero group.
if (GroupID != UUID.Zero)
{
GroupMembershipData gmd = GetMembershipData(GroupID, remoteClient.AgentId);
@ -342,6 +346,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
return;
}
}
SceneObjectGroup so = ((Scene)remoteClient.Scene).GetGroupByPrim(objectLocalID);
if (so != null)