diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs index bd4638a16b..19a41ec349 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs @@ -208,6 +208,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset public string Store(AssetBase asset) { m_Cache.Cache(asset); + if (asset.Temporary || asset.Local) + return asset.ID; return m_AssetService.Store(asset); } diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Asset/RemoteAssetServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Asset/RemoteAssetServiceConnector.cs index c409d15e0c..4e8b5d6892 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectors/Asset/RemoteAssetServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectors/Asset/RemoteAssetServiceConnector.cs @@ -230,6 +230,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset public string Store(AssetBase asset) { + if (asset.Temporary || asset.Local) + { + if (m_Cache != null) + m_Cache.Cache(asset); + + return asset.ID; + } + string uri = m_ServerURI + "/assets/"; string newID = SynchronousRestObjectRequester. @@ -237,6 +245,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset if (newID != String.Empty) { + asset.ID = newID; + if (m_Cache != null) m_Cache.Cache(asset); }