aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Data/MySQL/MySQLRegionData.cs14
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs10
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs15
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs5
4 files changed, 6 insertions, 38 deletions
diff --git a/OpenSim/Data/MySQL/MySQLRegionData.cs b/OpenSim/Data/MySQL/MySQLRegionData.cs
index 8a24fec..b13813f 100644
--- a/OpenSim/Data/MySQL/MySQLRegionData.cs
+++ b/OpenSim/Data/MySQL/MySQLRegionData.cs
@@ -196,7 +196,6 @@ namespace OpenSim.Data.MySQL
196 "ColorR, ColorG, ColorB, ColorA, "+ 196 "ColorR, ColorG, ColorB, ColorA, "+
197 "ParticleSystem, ClickAction, Material, "+ 197 "ParticleSystem, ClickAction, Material, "+
198 "CollisionSound, CollisionSoundVolume, "+ 198 "CollisionSound, CollisionSoundVolume, "+
199 "PassTouches, "+
200 "LinkNumber) values (" + "?UUID, "+ 199 "LinkNumber) values (" + "?UUID, "+
201 "?CreationDate, ?Name, ?Text, "+ 200 "?CreationDate, ?Name, ?Text, "+
202 "?Description, ?SitName, ?TouchName, "+ 201 "?Description, ?SitName, ?TouchName, "+
@@ -228,7 +227,7 @@ namespace OpenSim.Data.MySQL
228 "?SaleType, ?ColorR, ?ColorG, "+ 227 "?SaleType, ?ColorR, ?ColorG, "+
229 "?ColorB, ?ColorA, ?ParticleSystem, "+ 228 "?ColorB, ?ColorA, ?ParticleSystem, "+
230 "?ClickAction, ?Material, ?CollisionSound, "+ 229 "?ClickAction, ?Material, ?CollisionSound, "+
231 "?CollisionSoundVolume, ?PassTouches, ?LinkNumber)"; 230 "?CollisionSoundVolume, ?LinkNumber)";
232 231
233 FillPrimCommand(cmd, prim, obj.UUID, regionUUID); 232 FillPrimCommand(cmd, prim, obj.UUID, regionUUID);
234 233
@@ -951,9 +950,6 @@ namespace OpenSim.Data.MySQL
951 950
952 prim.CollisionSound = new UUID(row["CollisionSound"].ToString()); 951 prim.CollisionSound = new UUID(row["CollisionSound"].ToString());
953 prim.CollisionSoundVolume = Convert.ToSingle(row["CollisionSoundVolume"]); 952 prim.CollisionSoundVolume = Convert.ToSingle(row["CollisionSoundVolume"]);
954
955 if (Convert.ToInt16(row["PassTouches"]) != 0)
956 prim.PassTouches = true;
957 prim.LinkNum = Convert.ToInt32(row["LinkNumber"]); 953 prim.LinkNum = Convert.ToInt32(row["LinkNumber"]);
958 954
959 return prim; 955 return prim;
@@ -1276,12 +1272,6 @@ namespace OpenSim.Data.MySQL
1276 1272
1277 cmd.Parameters.AddWithValue("CollisionSound", prim.CollisionSound.ToString()); 1273 cmd.Parameters.AddWithValue("CollisionSound", prim.CollisionSound.ToString());
1278 cmd.Parameters.AddWithValue("CollisionSoundVolume", prim.CollisionSoundVolume); 1274 cmd.Parameters.AddWithValue("CollisionSoundVolume", prim.CollisionSoundVolume);
1279
1280 if (prim.PassTouches)
1281 cmd.Parameters.AddWithValue("PassTouches", 1);
1282 else
1283 cmd.Parameters.AddWithValue("PassTouches", 0);
1284
1285 cmd.Parameters.AddWithValue("LinkNumber", prim.LinkNum); 1275 cmd.Parameters.AddWithValue("LinkNumber", prim.LinkNum);
1286 } 1276 }
1287 1277
@@ -1544,4 +1534,4 @@ namespace OpenSim.Data.MySQL
1544 } 1534 }
1545 } 1535 }
1546 } 1536 }
1547} 1537} \ No newline at end of file
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
index 8bf47e7..4c99873 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
@@ -251,16 +251,10 @@ namespace OpenSim.Region.Framework.Scenes
251 251
252 // If the touched prim handles touches, deliver it 252 // If the touched prim handles touches, deliver it
253 // If not, deliver to root prim 253 // If not, deliver to root prim
254 if ((part.ScriptEvents & scriptEvents.touch_start) != 0) 254 if ((part.ScriptEvents & scriptEvents.touch_start) != 0)
255 EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg); 255 EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg);
256 // Deliver to the root prim if the touched prim doesn't handle touches 256 else
257 // or if we're meant to pass on touches anyway. Don't send to root prim
258 // if prim touched is the root prim as we just did it
259 if (((part.ScriptEvents & scriptEvents.touch_start) == 0) ||
260 (part.PassTouches && (part.LocalId != obj.RootPart.LocalId)))
261 {
262 EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg); 257 EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg);
263 }
264 258
265 return; 259 return;
266 } 260 }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 719b028..9a455ae 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -102,6 +102,7 @@ namespace OpenSim.Region.Framework.Scenes
102 102
103 #region Fields 103 #region Fields
104 104
105 [XmlIgnore]
105 public bool AllowedDrop = false; 106 public bool AllowedDrop = false;
106 107
107 [XmlIgnore] 108 [XmlIgnore]
@@ -215,9 +216,6 @@ namespace OpenSim.Region.Framework.Scenes
215 private readonly UndoStack<UndoState> m_undo = new UndoStack<UndoState>(5); 216 private readonly UndoStack<UndoState> m_undo = new UndoStack<UndoState>(5);
216 private UUID _creatorID; 217 private UUID _creatorID;
217 218
218
219 private bool m_passTouches = false;
220
221 /// <summary> 219 /// <summary>
222 /// Only used internally to schedule client updates. 220 /// Only used internally to schedule client updates.
223 /// 0 - no update is scheduled 221 /// 0 - no update is scheduled
@@ -433,17 +431,6 @@ namespace OpenSim.Region.Framework.Scenes
433 } 431 }
434 } 432 }
435 433
436 public bool PassTouches
437 {
438 get { return m_passTouches; }
439 set
440 {
441 m_passTouches = value;
442 if (ParentGroup != null)
443 ParentGroup.HasGroupChanged = true;
444 }
445 }
446
447 public ulong RegionHandle 434 public ulong RegionHandle
448 { 435 {
449 get { return m_regionHandle; } 436 get { return m_regionHandle; }
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index f4a944c..f932dbe 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3705,10 +3705,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3705 public void llPassTouches(int pass) 3705 public void llPassTouches(int pass)
3706 { 3706 {
3707 m_host.AddScriptLPS(1); 3707 m_host.AddScriptLPS(1);
3708 if (pass != 0) 3708 NotImplemented("llPassTouches");
3709 m_host.PassTouches = true;
3710 else
3711 m_host.PassTouches = false;
3712 } 3709 }
3713 3710
3714 public LSL_String llRequestAgentData(string id, int data) 3711 public LSL_String llRequestAgentData(string id, int data)