mantis 9036: do not allow attach of coalesced inventory assets

This commit is contained in:
UbitUmarov
2022-11-12 18:50:09 +00:00
parent d0a7a4fd0e
commit 48d26f8925
3 changed files with 25 additions and 0 deletions

View File

@@ -118,6 +118,17 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
return;
m_invAccessModule = m_scene.RequestModuleInterface<IInventoryAccessModule>();
if(m_invAccessModule is null)
{
Enabled = false;
m_scene.UnregisterModuleInterface<IAttachmentsModule>(this);
m_scene.EventManager.OnNewClient -= SubscribeToClientEvents;
m_scene.EventManager.OnStartScript -= OnScriptStarted;
m_scene.EventManager.OnStopScript -= OnScriptStopped;
m_log.WarnFormat("[ATTACHMENTS MODULE]: InventoryService unvailable!. Module disabled");
return;
}
m_regionConsole = scene.RequestModuleInterface<IRegionConsole>();
if (m_regionConsole != null)
{

View File

@@ -322,6 +322,13 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
if (item == null || item.AssetID.IsZero())
return null;
if (attachment && (item.Flags & (uint)InventoryItemFlags.ObjectHasMultipleItems) != 0)
{
if (remoteClient != null && remoteClient.IsActive)
remoteClient.SendAlertMessage("You can't attach multiple objects to one spot");
return null;
}
string userAssetServer;
if (IsForeignUser(remoteClient.AgentId, out userAssetServer))
{

View File

@@ -926,6 +926,13 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
if (item == null)
return null;
if (attachment && (item.Flags & (uint)InventoryItemFlags.ObjectHasMultipleItems) != 0)
{
if (remoteClient != null && remoteClient.IsActive)
remoteClient.SendAlertMessage("You can't attach multiple objects to one spot");
return null;
}
item.Owner = remoteClient.AgentId;
return RezObject(