aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMike Mazur2008-09-10 00:19:36 +0000
committerMike Mazur2008-09-10 00:19:36 +0000
commite0d092ec537a7187d3b5a367f27b834fccad778d (patch)
treef6a46a6ec66d6d7713d5a35836299b0a9561ba42
parent* Fixes Sqlite crash bug when saving a prim. (diff)
downloadopensim-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.cs5
-rw-r--r--OpenSim/Data/MySQL/Resources/018_RegionStore.sql6
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs14
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 @@
1begin;
2
3ALTER TABLE prims ADD COLUMN ClickAction tinyint NOT NULL default 0;
4
5commit;
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