aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs26
1 files changed, 24 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index e299f96..0dd1787 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -4296,7 +4296,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4296 } 4296 }
4297 4297
4298 4298
4299 pinfo = World.PresenceService.GetAgent(uuid); 4299 PresenceInfo[] pinfos = World.PresenceService.GetAgents(new string[] { uuid.ToString() });
4300 if (pinfos != null && pinfos.Length > 0)
4301 {
4302 foreach (PresenceInfo p in pinfos)
4303 {
4304 if (p.RegionID != UUID.Zero)
4305 {
4306 pinfo = p;
4307 }
4308 }
4309 }
4300 4310
4301 ce = new UserInfoCacheEntry(); 4311 ce = new UserInfoCacheEntry();
4302 ce.time = Util.EnvironmentTickCount(); 4312 ce.time = Util.EnvironmentTickCount();
@@ -4315,7 +4325,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
4315 4325
4316 if (Util.EnvironmentTickCount() < ce.time || (Util.EnvironmentTickCount() - ce.time) >= 20000) 4326 if (Util.EnvironmentTickCount() < ce.time || (Util.EnvironmentTickCount() - ce.time) >= 20000)
4317 { 4327 {
4318 pinfo = World.PresenceService.GetAgent(uuid); 4328 PresenceInfo[] pinfos = World.PresenceService.GetAgents(new string[] { uuid.ToString() });
4329 if (pinfos != null && pinfos.Length > 0)
4330 {
4331 foreach (PresenceInfo p in pinfos)
4332 {
4333 if (p.RegionID != UUID.Zero)
4334 {
4335 pinfo = p;
4336 }
4337 }
4338 }
4339 else
4340 pinfo = null;
4319 4341
4320 ce.time = Util.EnvironmentTickCount(); 4342 ce.time = Util.EnvironmentTickCount();
4321 ce.pinfo = pinfo; 4343 ce.pinfo = pinfo;