aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-30 01:20:31 +0000
committerTeravus Ovares2007-11-30 01:20:31 +0000
commit5eb091ceee98f334fbb4c37e25f8217d1c40701f (patch)
tree3c02f9657c212b06023d9de47a0860428e439c4c
parentrevert r2510, this seems to break normal logins, at least from (diff)
downloadopensim-SC_OLD-5eb091ceee98f334fbb4c37e25f8217d1c40701f.zip
opensim-SC_OLD-5eb091ceee98f334fbb4c37e25f8217d1c40701f.tar.gz
opensim-SC_OLD-5eb091ceee98f334fbb4c37e25f8217d1c40701f.tar.bz2
opensim-SC_OLD-5eb091ceee98f334fbb4c37e25f8217d1c40701f.tar.xz
* Temporary fix for 'User already online' issue in standalone mode.
* Revert this once we get a working logoff.
-rw-r--r--OpenSim/Framework/Communications/LoginService.cs5
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs11
3 files changed, 17 insertions, 1 deletions
diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs
index 118668c..9177704 100644
--- a/OpenSim/Framework/Communications/LoginService.cs
+++ b/OpenSim/Framework/Communications/LoginService.cs
@@ -96,10 +96,15 @@ namespace OpenSim.Framework.UserManagement
96 else 96 else
97 { 97 {
98 // If we already have a session... 98 // If we already have a session...
99
99 if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline) 100 if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline)
100 { 101 {
102 userProfile.currentAgent.agentOnline = false;
103 m_userManager.CommitAgent(ref userProfile);
104
101 // Reject the login 105 // Reject the login
102 return logResponse.CreateAlreadyLoggedInResponse(); 106 return logResponse.CreateAlreadyLoggedInResponse();
107
103 } 108 }
104 // Otherwise... 109 // Otherwise...
105 // Create a new agent session 110 // Create a new agent session
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 7d09c9a..cc0b8ba 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -1487,7 +1487,7 @@ namespace OpenSim.Region.Environment.Scenes
1487 } 1487 }
1488 } 1488 }
1489 } 1489 }
1490 1490
1491 /// <summary> 1491 /// <summary>
1492 /// 1492 ///
1493 /// </summary> 1493 /// </summary>
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 843ae3d..c94bfd9 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -1201,6 +1201,17 @@ namespace OpenSim.Region.Environment.Scenes
1201 } 1201 }
1202 break; 1202 break;
1203 } 1203 }
1204 else
1205 {
1206 // If you can't edit it, send the base permissions minus the flag to edit
1207 if (!ParentGroup.m_scene.PermissionsMngr.CanEditObject(remoteClient.AgentId, this.ParentGroup.UUID))
1208 {
1209 clientFlags = ObjectFlags &= ~(uint)LLObject.ObjectFlags.ObjectModify;
1210 clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.ObjectMove;
1211 clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.AllowInventoryDrop;
1212 clientFlags = clientFlags &= ~(uint)LLObject.ObjectFlags.ObjectTransfer;
1213 }
1214 }
1204 } 1215 }
1205 1216
1206 byte[] color = new byte[] { m_color.R, m_color.G, m_color.B, m_color.A }; 1217 byte[] color = new byte[] { m_color.R, m_color.G, m_color.B, m_color.A };