diff options
author | Justin Clark-Casey (justincc) | 2011-09-05 22:55:48 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-09-05 22:55:48 +0100 |
commit | 5e579b71fdd51fc840ddbece99322e1f9c9be805 (patch) | |
tree | 294a6cb630e3a490e91fc9418933c86e04c43b3c | |
parent | Fixed BulletSim config files for Linux *.so libraries. (diff) | |
download | opensim-SC_OLD-5e579b71fdd51fc840ddbece99322e1f9c9be805.zip opensim-SC_OLD-5e579b71fdd51fc840ddbece99322e1f9c9be805.tar.gz opensim-SC_OLD-5e579b71fdd51fc840ddbece99322e1f9c9be805.tar.bz2 opensim-SC_OLD-5e579b71fdd51fc840ddbece99322e1f9c9be805.tar.xz |
Allow the HGInventoryBroker to set the UserManager when it instantiates a RemoteXInventoryServiceConnector for a visiting HG user.
Not doing this causes NREs whenever that user tries to access inventory when Hypergrid is turned on since the Remote connector does not have a scene (which is only used to fetch the UserManager)
Aims to address http://opensimulator.org/mantis/view.php?id=5669
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs | 11 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs | 7 |
2 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs index 72ae3363..f9e4bb9 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs | |||
@@ -572,14 +572,21 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
572 | string connectorType = new HeloServicesConnector(url).Helo(); | 572 | string connectorType = new HeloServicesConnector(url).Helo(); |
573 | m_log.DebugFormat("[HG INVENTORY SERVICE]: HELO returned {0}", connectorType); | 573 | m_log.DebugFormat("[HG INVENTORY SERVICE]: HELO returned {0}", connectorType); |
574 | if (connectorType == "opensim-simian") | 574 | if (connectorType == "opensim-simian") |
575 | { | ||
575 | connector = new SimianInventoryServiceConnector(url); | 576 | connector = new SimianInventoryServiceConnector(url); |
577 | } | ||
576 | else | 578 | else |
577 | connector = new RemoteXInventoryServicesConnector(url); | 579 | { |
580 | RemoteXInventoryServicesConnector rxisc = new RemoteXInventoryServicesConnector(url); | ||
581 | rxisc.UserManager = UserManagementModule; | ||
582 | connector = rxisc; | ||
583 | } | ||
584 | |||
578 | m_connectors.Add(url, connector); | 585 | m_connectors.Add(url, connector); |
579 | } | 586 | } |
580 | } | 587 | } |
588 | |||
581 | return connector; | 589 | return connector; |
582 | } | 590 | } |
583 | |||
584 | } | 591 | } |
585 | } | 592 | } |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs index 8f1f257..4a3ccc5 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs | |||
@@ -50,7 +50,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
50 | private XInventoryServicesConnector m_RemoteConnector; | 50 | private XInventoryServicesConnector m_RemoteConnector; |
51 | 51 | ||
52 | private IUserManagement m_UserManager; | 52 | private IUserManagement m_UserManager; |
53 | private IUserManagement UserManager | 53 | public IUserManagement UserManager |
54 | { | 54 | { |
55 | get | 55 | get |
56 | { | 56 | { |
@@ -60,6 +60,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
60 | } | 60 | } |
61 | return m_UserManager; | 61 | return m_UserManager; |
62 | } | 62 | } |
63 | |||
64 | set | ||
65 | { | ||
66 | m_UserManager = value; | ||
67 | } | ||
63 | } | 68 | } |
64 | 69 | ||
65 | public Type ReplaceableInterface | 70 | public Type ReplaceableInterface |