aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2016-09-21 15:26:30 +0100
committerUbitUmarov2016-09-21 15:26:30 +0100
commitdb1e75b0ac88bfb5f22c5742d7c0c5fdca5b064e (patch)
tree1d3bcd2deabe0bd28cce79bbae2a09e963efb397
parentMerge branch 'master' into httptests (diff)
parentavoid a null ref (diff)
downloadopensim-SC-db1e75b0ac88bfb5f22c5742d7c0c5fdca5b064e.zip
opensim-SC-db1e75b0ac88bfb5f22c5742d7c0c5fdca5b064e.tar.gz
opensim-SC-db1e75b0ac88bfb5f22c5742d7c0c5fdca5b064e.tar.bz2
opensim-SC-db1e75b0ac88bfb5f22c5742d7c0c5fdca5b064e.tar.xz
Merge branch 'master' into httptests
-rw-r--r--OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs40
-rw-r--r--OpenSim/Services/Connectors/Grid/GridServicesConnector.cs7
4 files changed, 24 insertions, 26 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs
index eabeaf1..72fff22 100644
--- a/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/UserManagement/UserManagementModule.cs
@@ -701,6 +701,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
701 last = parts[1]; 701 last = parts[1];
702 } 702 }
703 uui = userID + ";" + homeURL + ";" + first + " " + last; 703 uui = userID + ";" + homeURL + ";" + first + " " + last;
704 return result;
704 } 705 }
705 } 706 }
706 707
diff --git a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs
index e77f0aa..e65f860 100644
--- a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs
@@ -768,7 +768,7 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands
768 else 768 else
769 so = m_scene.GetSceneObjectGroup(localId); 769 so = m_scene.GetSceneObjectGroup(localId);
770 770
771 if (!so.IsAttachment) 771 if (so!= null && !so.IsAttachment)
772 deletes.Add(so); 772 deletes.Add(so);
773 773
774 // if (deletes.Count == 0) 774 // if (deletes.Count == 0)
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index fcc3463..06d767d 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -537,39 +537,29 @@ namespace OpenSim.Region.Framework.Scenes
537 } 537 }
538 set 538 set
539 { 539 {
540 CreatorData = string.Empty;
540 if ((value == null) || (value != null && value == string.Empty)) 541 if ((value == null) || (value != null && value == string.Empty))
541 {
542 CreatorData = string.Empty;
543 return; 542 return;
544 }
545 543
546 if (!value.Contains(";")) // plain UUID 544 // value is uuid or uuid;homeuri;firstname lastname
545 string[] parts = value.Split(';');
546 if (parts.Length > 0)
547 { 547 {
548
548 UUID uuid = UUID.Zero; 549 UUID uuid = UUID.Zero;
549 UUID.TryParse(value, out uuid); 550 UUID.TryParse(parts[0], out uuid);
550 CreatorID = uuid; 551 CreatorID = uuid;
551 } 552
552 else // <uuid>[;<endpoint>[;name]] 553 if (parts.Length > 1)
553 {
554 string name = "Unknown User";
555 string[] parts = value.Split(';');
556 if (parts.Length >= 1)
557 {
558 UUID uuid = UUID.Zero;
559 UUID.TryParse(parts[0], out uuid);
560 CreatorID = uuid;
561 }
562 if (parts.Length >= 2)
563 { 554 {
564 CreatorData = parts[1]; 555 CreatorData = parts[1];
565 if (!CreatorData.EndsWith("/")) 556 if (!CreatorData.EndsWith("/"))
566 CreatorData += "/"; 557 CreatorData += "/";
558 if (parts.Length > 2)
559 CreatorData += ';' + parts[2];
560 else
561 CreatorData += ";Unknown User";
567 } 562 }
568 if (parts.Length >= 3)
569 name = parts[2];
570
571 CreatorData += ';' + name;
572
573 } 563 }
574 } 564 }
575 } 565 }
@@ -4653,6 +4643,12 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter
4653 4643
4654 DoPhysicsPropertyUpdate(UsePhysics, false); // Update physical status. 4644 DoPhysicsPropertyUpdate(UsePhysics, false); // Update physical status.
4655 4645
4646 if(UsePhysics && !SetPhantom && m_localId == ParentGroup.RootPart.LocalId &&
4647 m_vehicleParams != null && m_vehicleParams.CameraDecoupled)
4648 AddFlag(PrimFlags.CameraDecoupled);
4649 else
4650 RemFlag(PrimFlags.CameraDecoupled);
4651
4656 if (pa.Building != building) 4652 if (pa.Building != building)
4657 pa.Building = building; 4653 pa.Building = building;
4658 } 4654 }
diff --git a/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs b/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs
index 6c6ccf9..ceb2146 100644
--- a/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs
+++ b/OpenSim/Services/Connectors/Grid/GridServicesConnector.cs
@@ -278,10 +278,12 @@ namespace OpenSim.Services.Connectors
278 278
279 public GridRegion GetRegionByPosition(UUID scopeID, int x, int y) 279 public GridRegion GetRegionByPosition(UUID scopeID, int x, int y)
280 { 280 {
281 GridRegion rinfo = null;
281 ulong regionHandle = Util.UIntsToLong((uint)x, (uint)y); 282 ulong regionHandle = Util.UIntsToLong((uint)x, (uint)y);
282 283
283 if (m_regionCache.Contains(regionHandle)) 284 // this cache includes NULL regions
284 return (GridRegion)m_regionCache[regionHandle]; 285 if (m_regionCache.TryGetValue(regionHandle, out rinfo))
286 return rinfo;
285 287
286 Dictionary<string, object> sendData = new Dictionary<string, object>(); 288 Dictionary<string, object> sendData = new Dictionary<string, object>();
287 289
@@ -304,7 +306,6 @@ namespace OpenSim.Services.Connectors
304 return null; 306 return null;
305 } 307 }
306 308
307 GridRegion rinfo = null;
308 if (reply != string.Empty) 309 if (reply != string.Empty)
309 { 310 {
310 Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply); 311 Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);