diff options
author | Mike Mazur | 2008-09-10 00:19:36 +0000 |
---|---|---|
committer | Mike Mazur | 2008-09-10 00:19:36 +0000 |
commit | e0d092ec537a7187d3b5a367f27b834fccad778d (patch) | |
tree | f6a46a6ec66d6d7713d5a35836299b0a9561ba42 | |
parent | * Fixes Sqlite crash bug when saving a prim. (diff) | |
download | opensim-SC-e0d092ec537a7187d3b5a367f27b834fccad778d.zip opensim-SC-e0d092ec537a7187d3b5a367f27b834fccad778d.tar.gz opensim-SC-e0d092ec537a7187d3b5a367f27b834fccad778d.tar.bz2 opensim-SC-e0d092ec537a7187d3b5a367f27b834fccad778d.tar.xz |
Thanks, nlin, for a patch implementing persistence for "When Left Clicked"
object property. Fix issue 2149.
-rw-r--r-- | OpenSim/Data/MySQL/MySQLRegionData.cs | 5 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Resources/018_RegionStore.sql | 6 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 14 |
3 files changed, 25 insertions, 0 deletions
diff --git a/OpenSim/Data/MySQL/MySQLRegionData.cs b/OpenSim/Data/MySQL/MySQLRegionData.cs index b7fc70b..920a001 100644 --- a/OpenSim/Data/MySQL/MySQLRegionData.cs +++ b/OpenSim/Data/MySQL/MySQLRegionData.cs | |||
@@ -941,6 +941,7 @@ namespace OpenSim.Data.MySQL | |||
941 | createCol(prims, "SalePrice", typeof(Int32)); | 941 | createCol(prims, "SalePrice", typeof(Int32)); |
942 | createCol(prims, "SaleType", typeof (Int16)); | 942 | createCol(prims, "SaleType", typeof (Int16)); |
943 | 943 | ||
944 | createCol(prims, "ClickAction", typeof (Byte)); | ||
944 | 945 | ||
945 | // Add in contraints | 946 | // Add in contraints |
946 | prims.PrimaryKey = new DataColumn[] {prims.Columns["UUID"]}; | 947 | prims.PrimaryKey = new DataColumn[] {prims.Columns["UUID"]}; |
@@ -1225,6 +1226,8 @@ namespace OpenSim.Data.MySQL | |||
1225 | prim.SalePrice = Convert.ToInt32(row["SalePrice"]); | 1226 | prim.SalePrice = Convert.ToInt32(row["SalePrice"]); |
1226 | prim.ObjectSaleType = Convert.ToByte(row["SaleType"]); | 1227 | prim.ObjectSaleType = Convert.ToByte(row["SaleType"]); |
1227 | 1228 | ||
1229 | prim.ClickAction = Convert.ToByte(row["ClickAction"]); | ||
1230 | |||
1228 | return prim; | 1231 | return prim; |
1229 | } | 1232 | } |
1230 | 1233 | ||
@@ -1532,6 +1535,8 @@ namespace OpenSim.Data.MySQL | |||
1532 | row["SalePrice"] = prim.SalePrice; | 1535 | row["SalePrice"] = prim.SalePrice; |
1533 | row["SaleType"] = Convert.ToInt16(prim.ObjectSaleType); | 1536 | row["SaleType"] = Convert.ToInt16(prim.ObjectSaleType); |
1534 | 1537 | ||
1538 | byte clickAction = prim.ClickAction; | ||
1539 | row["ClickAction"] = clickAction; | ||
1535 | } | 1540 | } |
1536 | 1541 | ||
1537 | /// <summary> | 1542 | /// <summary> |
diff --git a/OpenSim/Data/MySQL/Resources/018_RegionStore.sql b/OpenSim/Data/MySQL/Resources/018_RegionStore.sql new file mode 100644 index 0000000..68c489c --- /dev/null +++ b/OpenSim/Data/MySQL/Resources/018_RegionStore.sql | |||
@@ -0,0 +1,6 @@ | |||
1 | begin; | ||
2 | |||
3 | ALTER TABLE prims ADD COLUMN ClickAction tinyint NOT NULL default 0; | ||
4 | |||
5 | commit; | ||
6 | |||
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index f778557..ffd7001 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -4772,6 +4772,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4772 | } | 4772 | } |
4773 | break; | 4773 | break; |
4774 | 4774 | ||
4775 | case PacketType.ObjectClickAction: | ||
4776 | ObjectClickActionPacket ocpacket = (ObjectClickActionPacket)Pack; | ||
4777 | Scene tScene = (Scene)m_scene; | ||
4778 | |||
4779 | foreach (ObjectClickActionPacket.ObjectDataBlock odata in ocpacket.ObjectData) | ||
4780 | { | ||
4781 | byte action = odata.ClickAction; | ||
4782 | uint localId = odata.ObjectLocalID; | ||
4783 | SceneObjectPart part = tScene.GetSceneObjectPart(localId); | ||
4784 | part.ClickAction = action; | ||
4785 | } | ||
4786 | |||
4787 | break; | ||
4788 | |||
4775 | #endregion | 4789 | #endregion |
4776 | 4790 | ||
4777 | #region Inventory/Asset/Other related packets | 4791 | #region Inventory/Asset/Other related packets |