diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
index f0a15f7fb2..c6ae3fc3ee 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
@@ -491,7 +491,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
foreach (Scene scene in m_Scenes)
{
ScenePresence presence = scene.GetScenePresence(agentID);
- if (presence != null && !presence.IsChildAgent)
+ if (presence != null && !presence.IsDeleted && !presence.IsChildAgent)
return presence.ControllingClient;
}
}
@@ -627,8 +627,11 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
if (friendSession != null)
{
GridRegion region = GridService.GetRegionByUUID(m_Scenes[0].RegionInfo.ScopeID, friendSession.RegionID);
- m_FriendsSimConnector.FriendshipOffered(region, agentID, friendID, im.message);
- return true;
+ if(region != null)
+ {
+ m_FriendsSimConnector.FriendshipOffered(region, agentID, friendID, im.message);
+ return true;
+ }
}
}
// If the prospective friend is not online, he'll get the message upon login.
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
index f778b4059c..6a7ed42d1e 100644
--- a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs
@@ -776,7 +776,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
if (!m_uMan.IsLocalGridUser(friendID))
{
string friendsURL = m_uMan.GetUserServerURL(friendID, "FriendsServerURI");
- if (friendsURL != string.Empty)
+ if (!string.IsNullOrEmpty(friendsURL))
{
m_log.DebugFormat("[HGFRIENDS MODULE]: Forwading friendship from {0} to {1} @ {2}", agentID, friendID, friendsURL);
GridRegion region = new GridRegion();
diff --git a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs
index 74e7ac04cc..a130308d22 100644
--- a/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs
+++ b/OpenSim/Region/OptionalModules/World/MoneyModule/SampleMoneyModule.cs
@@ -83,7 +83,7 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
///
/// Scenes by Region Handle
///
- private Dictionary m_scenel = new Dictionary();
+ private Dictionary m_scenes = new Dictionary();
// private int m_stipend = 1000;
@@ -138,9 +138,9 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
scene.RegisterModuleInterface(this);
IHttpServer httpServer = MainServer.Instance;
- lock (m_scenel)
+ lock (m_scenes)
{
- if (m_scenel.Count == 0)
+ if (m_scenes.Count == 0)
{
m_localEconomyURL = scene.RegionInfo.ServerURI;
m_rpcHandlers = new Dictionary();
@@ -154,13 +154,13 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
MainServer.Instance.AddSimpleStreamHandler(new SimpleStreamHandler("/landtool.php", processPHP));
}
- if (m_scenel.ContainsKey(scene.RegionInfo.RegionHandle))
+ if (m_scenes.ContainsKey(scene.RegionInfo.RegionHandle))
{
- m_scenel[scene.RegionInfo.RegionHandle] = scene;
+ m_scenes[scene.RegionInfo.RegionHandle] = scene;
}
else
{
- m_scenel.Add(scene.RegionInfo.RegionHandle, scene);
+ m_scenes.Add(scene.RegionInfo.RegionHandle, scene);
}
}
@@ -366,9 +366,9 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
private SceneObjectPart findPrim(UUID objectID)
{
- lock (m_scenel)
+ lock (m_scenes)
{
- foreach (Scene s in m_scenel.Values)
+ foreach (Scene s in m_scenes.Values)
{
SceneObjectPart part = s.GetSceneObjectPart(objectID);
if (part != null)
@@ -616,25 +616,14 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
///
private IClientAPI LocateClientObject(UUID AgentID)
{
- ScenePresence tPresence = null;
- IClientAPI rclient = null;
-
- lock (m_scenel)
+ ScenePresence tPresence;
+ lock (m_scenes)
{
- foreach (Scene _scene in m_scenel.Values)
+ foreach (Scene _scene in m_scenes.Values)
{
tPresence = _scene.GetScenePresence(AgentID);
- if (tPresence != null)
- {
- if (!tPresence.IsChildAgent)
- {
- rclient = tPresence.ControllingClient;
- }
- }
- if (rclient != null)
- {
- return rclient;
- }
+ if (tPresence != null && !tPresence.IsDeleted && !tPresence.IsChildAgent)
+ return tPresence.ControllingClient;
}
}
return null;
@@ -642,18 +631,13 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
private Scene LocateSceneClientIn(UUID AgentId)
{
- lock (m_scenel)
+ lock (m_scenes)
{
- foreach (Scene _scene in m_scenel.Values)
+ foreach (Scene _scene in m_scenes.Values)
{
ScenePresence tPresence = _scene.GetScenePresence(AgentId);
- if (tPresence != null)
- {
- if (!tPresence.IsChildAgent)
- {
- return _scene;
- }
- }
+ if (tPresence != null && !tPresence.IsDeleted && !tPresence.IsChildAgent)
+ return _scene;
}
}
return null;
@@ -665,9 +649,9 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
///
public Scene GetRandomScene()
{
- lock (m_scenel)
+ lock (m_scenes)
{
- foreach (Scene rs in m_scenel.Values)
+ foreach (Scene rs in m_scenes.Values)
return rs;
}
return null;
@@ -680,9 +664,9 @@ namespace OpenSim.Region.OptionalModules.World.MoneyModule
///
public Scene GetSceneByUUID(UUID RegionID)
{
- lock (m_scenel)
+ lock (m_scenes)
{
- foreach (Scene rs in m_scenel.Values)
+ foreach (Scene rs in m_scenes.Values)
{
if (rs.RegionInfo.originRegionID == RegionID)
{