* Temporary fix for 'User already online' issue in standalone mode.

* Revert this once we get a working logoff.
afrisby
Teravus Ovares 2007-11-30 01:20:31 +00:00
parent d3ab5ad506
commit 5eb091ceee
3 changed files with 17 additions and 1 deletions

View File

@ -96,10 +96,15 @@ namespace OpenSim.Framework.UserManagement
else else
{ {
// If we already have a session... // If we already have a session...
if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline) if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline)
{ {
userProfile.currentAgent.agentOnline = false;
m_userManager.CommitAgent(ref userProfile);
// Reject the login // Reject the login
return logResponse.CreateAlreadyLoggedInResponse(); return logResponse.CreateAlreadyLoggedInResponse();
} }
// Otherwise... // Otherwise...
// Create a new agent session // Create a new agent session

View File

@ -1201,6 +1201,17 @@ namespace OpenSim.Region.Environment.Scenes
} }
break; break;
} }
else
{
// If you can't edit it, send the base permissions minus the flag to edit
if (!ParentGroup.m_scene.PermissionsMngr.CanEditObject(remoteClient.AgentId, this.ParentGroup.UUID))
{
clientFlags = ObjectFlags &= ~(uint)LLObject.ObjectFlags.ObjectModify;
clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.ObjectMove;
clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.AllowInventoryDrop;
clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.ObjectTransfer;
}
}
} }
byte[] color = new byte[] { m_color.R, m_color.G, m_color.B, m_color.A }; byte[] color = new byte[] { m_color.R, m_color.G, m_color.B, m_color.A };