aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes
diff options
context:
space:
mode:
authorMW2007-08-24 11:04:07 +0000
committerMW2007-08-24 11:04:07 +0000
commita53125aae0252f527a72db0cde7bf7afbb677b0a (patch)
tree8eb788f66ae7f5d9f0b488a4c108369982190f88 /OpenSim/Region/Environment/Scenes
parentAdd region to db (diff)
downloadopensim-SC-a53125aae0252f527a72db0cde7bf7afbb677b0a.zip
opensim-SC-a53125aae0252f527a72db0cde7bf7afbb677b0a.tar.gz
opensim-SC-a53125aae0252f527a72db0cde7bf7afbb677b0a.tar.bz2
opensim-SC-a53125aae0252f527a72db0cde7bf7afbb677b0a.tar.xz
Updated sqlite3.dll to version 3.4.2
Fixed it so now when you move a script to a Prim or delete a script from a prim the change should show up in the prims inventory straight away (without having to close the edit window and reopen it). When linking prims, all parts except for the root part of the new group are removed from the physics engine, as currently we only really support root parts in the physics engine.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs3
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs6
2 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index 83cd83c..4458a4d 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -220,6 +220,7 @@ namespace OpenSim.Region.Environment.Scenes
220 if (hasPrim != false) 220 if (hasPrim != false)
221 { 221 {
222 int type = ((SceneObjectGroup)ent).RemoveInventoryItem(remoteClient, localID, itemID); 222 int type = ((SceneObjectGroup)ent).RemoveInventoryItem(remoteClient, localID, itemID);
223 ((SceneObjectGroup)ent).GetProperites(remoteClient);
223 if (type == 10) 224 if (type == 10)
224 { 225 {
225 this.EventManager.TriggerRemoveScript(localID, itemID); 226 this.EventManager.TriggerRemoveScript(localID, itemID);
@@ -277,6 +278,7 @@ namespace OpenSim.Region.Environment.Scenes
277 if (hasPrim != false) 278 if (hasPrim != false)
278 { 279 {
279 bool added = ((SceneObjectGroup)ent).AddInventoryItem(remoteClient, localID, item); 280 bool added = ((SceneObjectGroup)ent).AddInventoryItem(remoteClient, localID, item);
281 ((SceneObjectGroup)ent).GetProperites(remoteClient);
280 if (added) 282 if (added)
281 { 283 {
282 userInfo.DeleteItem(remoteClient.AgentId, item); 284 userInfo.DeleteItem(remoteClient.AgentId, item);
@@ -359,6 +361,7 @@ namespace OpenSim.Region.Environment.Scenes
359 if (rootPart.PhysActor != null) 361 if (rootPart.PhysActor != null)
360 { 362 {
361 this.phyScene.RemovePrim(rootPart.PhysActor); 363 this.phyScene.RemovePrim(rootPart.PhysActor);
364 rootPart.PhysActor = null;
362 } 365 }
363 366
364 storageManager.DataStore.RemoveObject(((SceneObjectGroup)selectedEnt).UUID, m_regInfo.SimUUID); 367 storageManager.DataStore.RemoveObject(((SceneObjectGroup)selectedEnt).UUID, m_regInfo.SimUUID);
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index f787190..6945acb 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -456,6 +456,12 @@ namespace OpenSim.Region.Environment.Scenes
456 this.m_parts.Add(linkPart.UUID, linkPart); 456 this.m_parts.Add(linkPart.UUID, linkPart);
457 linkPart.SetParent(this); 457 linkPart.SetParent(this);
458 458
459 if (linkPart.PhysActor != null)
460 {
461 m_scene.PhysScene.RemovePrim(linkPart.PhysActor);
462 linkPart.PhysActor = null;
463 }
464
459 //TODO: rest of parts 465 //TODO: rest of parts
460 foreach (SceneObjectPart part in objectGroup.Children.Values) 466 foreach (SceneObjectPart part in objectGroup.Children.Values)
461 { 467 {