aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-06-07 23:51:04 +0100
committerJustin Clark-Casey (justincc)2012-06-07 23:51:04 +0100
commit0c5fefacb415fb916ffece839c95c155ec718254 (patch)
treeca263bcd51dbe444b08ffaf7b6ea15c1c0bf2557
parentDon't send kill object messages to clients when a child agent is closed. (diff)
downloadopensim-SC_OLD-0c5fefacb415fb916ffece839c95c155ec718254.zip
opensim-SC_OLD-0c5fefacb415fb916ffece839c95c155ec718254.tar.gz
opensim-SC_OLD-0c5fefacb415fb916ffece839c95c155ec718254.tar.bz2
opensim-SC_OLD-0c5fefacb415fb916ffece839c95c155ec718254.tar.xz
Record the fact that child agents can have asset transactions.
Also change code to grab the agent asset transaction module once.
-rw-r--r--OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs15
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs29
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs12
4 files changed, 26 insertions, 32 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs
index 874693e..7081989 100644
--- a/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs
+++ b/OpenSim/Region/CoreModules/Agent/AssetTransaction/AssetTransactionModule.cs
@@ -42,8 +42,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
42 public class AssetTransactionModule : INonSharedRegionModule, 42 public class AssetTransactionModule : INonSharedRegionModule,
43 IAgentAssetTransactions 43 IAgentAssetTransactions
44 { 44 {
45// private static readonly ILog m_log = LogManager.GetLogger( 45 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
46// MethodBase.GetCurrentMethod().DeclaringType);
47 46
48 protected Scene m_Scene; 47 protected Scene m_Scene;
49 private bool m_dumpAssetsToFile = false; 48 private bool m_dumpAssetsToFile = false;
@@ -209,15 +208,15 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
209 /// and comes through this method. 208 /// and comes through this method.
210 /// </summary> 209 /// </summary>
211 /// <param name="remoteClient"></param> 210 /// <param name="remoteClient"></param>
211 /// <param name="part"></param>
212 /// <param name="transactionID"></param> 212 /// <param name="transactionID"></param>
213 /// <param name="item"></param> 213 /// <param name="item"></param>
214 public void HandleTaskItemUpdateFromTransaction(IClientAPI remoteClient, 214 public void HandleTaskItemUpdateFromTransaction(
215 SceneObjectPart part, UUID transactionID, 215 IClientAPI remoteClient, SceneObjectPart part, UUID transactionID, TaskInventoryItem item)
216 TaskInventoryItem item)
217 { 216 {
218// m_log.DebugFormat( 217 m_log.DebugFormat(
219// "[TRANSACTIONS MANAGER] Called HandleTaskItemUpdateFromTransaction with item {0}", 218 "[TRANSACTIONS MANAGER] Called HandleTaskItemUpdateFromTransaction with item {0} in {1} for {2} in {3}",
220// item.Name); 219 item.Name, part.Name, remoteClient.Name, m_Scene.RegionInfo.RegionName);
221 220
222 AgentAssetTransactions transactions = 221 AgentAssetTransactions transactions =
223 GetUserTransactions(remoteClient.AgentId); 222 GetUserTransactions(remoteClient.AgentId);
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 69767c1..7d51eed 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -216,7 +216,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
216 } 216 }
217 else 217 else
218 { 218 {
219 IAgentAssetTransactions agentTransactions = m_Scene.RequestModuleInterface<IAgentAssetTransactions>(); 219 IAgentAssetTransactions agentTransactions = m_Scene.AgentTransactionsModule;
220 if (agentTransactions != null) 220 if (agentTransactions != null)
221 { 221 {
222 agentTransactions.HandleItemCreationFromTransaction( 222 agentTransactions.HandleItemCreationFromTransaction(
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 79c9309..b59fd05 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -440,10 +440,9 @@ namespace OpenSim.Region.Framework.Scenes
440 } 440 }
441 else 441 else
442 { 442 {
443 IAgentAssetTransactions agentTransactions = this.RequestModuleInterface<IAgentAssetTransactions>(); 443 if (AgentTransactionsModule != null)
444 if (agentTransactions != null)
445 { 444 {
446 agentTransactions.HandleItemUpdateFromTransaction(remoteClient, transactionID, item); 445 AgentTransactionsModule.HandleItemUpdateFromTransaction(remoteClient, transactionID, item);
447 } 446 }
448 } 447 }
449 } 448 }
@@ -1532,21 +1531,17 @@ namespace OpenSim.Region.Framework.Scenes
1532 // Only look for an uploaded updated asset if we are passed a transaction ID. This is only the 1531 // Only look for an uploaded updated asset if we are passed a transaction ID. This is only the
1533 // case for updates uploded through UDP. Updates uploaded via a capability (e.g. a script update) 1532 // case for updates uploded through UDP. Updates uploaded via a capability (e.g. a script update)
1534 // will not pass in a transaction ID in the update message. 1533 // will not pass in a transaction ID in the update message.
1535 if (transactionID != UUID.Zero) 1534 if (transactionID != UUID.Zero && AgentTransactionsModule != null)
1536 { 1535 {
1537 IAgentAssetTransactions agentTransactions = this.RequestModuleInterface<IAgentAssetTransactions>(); 1536 AgentTransactionsModule.HandleTaskItemUpdateFromTransaction(
1538 if (agentTransactions != null) 1537 remoteClient, part, transactionID, currentItem);
1539 { 1538
1540 agentTransactions.HandleTaskItemUpdateFromTransaction( 1539 if ((InventoryType)itemInfo.InvType == InventoryType.Notecard)
1541 remoteClient, part, transactionID, currentItem); 1540 remoteClient.SendAgentAlertMessage("Notecard saved", false);
1542 1541 else if ((InventoryType)itemInfo.InvType == InventoryType.LSL)
1543 if ((InventoryType)itemInfo.InvType == InventoryType.Notecard) 1542 remoteClient.SendAgentAlertMessage("Script saved", false);
1544 remoteClient.SendAgentAlertMessage("Notecard saved", false); 1543 else
1545 else if ((InventoryType)itemInfo.InvType == InventoryType.LSL) 1544 remoteClient.SendAgentAlertMessage("Item saved", false);
1546 remoteClient.SendAgentAlertMessage("Script saved", false);
1547 else
1548 remoteClient.SendAgentAlertMessage("Item saved", false);
1549 }
1550 } 1545 }
1551 1546
1552 // Base ALWAYS has move 1547 // Base ALWAYS has move
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index f291022..939c8fa 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -499,6 +499,7 @@ namespace OpenSim.Region.Framework.Scenes
499 499
500 public IAttachmentsModule AttachmentsModule { get; set; } 500 public IAttachmentsModule AttachmentsModule { get; set; }
501 public IEntityTransferModule EntityTransferModule { get; private set; } 501 public IEntityTransferModule EntityTransferModule { get; private set; }
502 public IAgentAssetTransactions AgentTransactionsModule { get; private set; }
502 503
503 public IAvatarFactoryModule AvatarFactory 504 public IAvatarFactoryModule AvatarFactory
504 { 505 {
@@ -1241,6 +1242,7 @@ namespace OpenSim.Region.Framework.Scenes
1241 m_capsModule = RequestModuleInterface<ICapabilitiesModule>(); 1242 m_capsModule = RequestModuleInterface<ICapabilitiesModule>();
1242 EntityTransferModule = RequestModuleInterface<IEntityTransferModule>(); 1243 EntityTransferModule = RequestModuleInterface<IEntityTransferModule>();
1243 m_groupsModule = RequestModuleInterface<IGroupsModule>(); 1244 m_groupsModule = RequestModuleInterface<IGroupsModule>();
1245 AgentTransactionsModule = RequestModuleInterface<IAgentAssetTransactions>();
1244 } 1246 }
1245 1247
1246 #endregion 1248 #endregion
@@ -3297,12 +3299,10 @@ namespace OpenSim.Region.Framework.Scenes
3297 catch (NullReferenceException) { } 3299 catch (NullReferenceException) { }
3298 }); 3300 });
3299 } 3301 }
3300 3302
3301 IAgentAssetTransactions agentTransactions = this.RequestModuleInterface<IAgentAssetTransactions>(); 3303 // It's possible for child agents to have transactions if changes are being made cross-border.
3302 if (agentTransactions != null) 3304 if (AgentTransactionsModule != null)
3303 { 3305 AgentTransactionsModule.RemoveAgentAssetTransactions(agentID);
3304 agentTransactions.RemoveAgentAssetTransactions(agentID);
3305 }
3306 } 3306 }
3307 finally 3307 finally
3308 { 3308 {