diff options
author | Justin Clark-Casey (justincc) | 2014-05-01 22:24:21 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2014-05-01 22:24:21 +0100 |
commit | c31d93cb6f478062332c6a04fd1c357bb11205ee (patch) | |
tree | f0894436d88091db8b134ca99501589432a99673 /OpenSim/Region/CoreModules/Avatar/Attachments | |
parent | minor: Use Vector2.Zero constant and only set in condition branch where it wa... (diff) | |
download | opensim-SC_OLD-c31d93cb6f478062332c6a04fd1c357bb11205ee.zip opensim-SC_OLD-c31d93cb6f478062332c6a04fd1c357bb11205ee.tar.gz opensim-SC_OLD-c31d93cb6f478062332c6a04fd1c357bb11205ee.tar.bz2 opensim-SC_OLD-c31d93cb6f478062332c6a04fd1c357bb11205ee.tar.xz |
Fix issue where only one of multiple attachments on the same attachpoint for NPCs would be seen by other viewers.
It appears that at least Singularity 1.8.5 (but probably others) rely on attachment FromItemIDs being different to display more than one.
This commit resolves this by generating random IDs instead of always using UUID.Zero for NPCs.
Resolves http://opensimulator.org/mantis/view.php?id=7110
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/Attachments')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index c3846d9..e9b2f4f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs | |||
@@ -991,6 +991,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments | |||
991 | 991 | ||
992 | return null; | 992 | return null; |
993 | } | 993 | } |
994 | else if (itemID == UUID.Zero) | ||
995 | { | ||
996 | // We need to have a FromItemID for multiple attachments on a single attach point to appear. This is | ||
997 | // true on Singularity 1.8.5 and quite possibly other viewers as well. As NPCs don't have an inventory | ||
998 | // we will satisfy this requirement by inserting a random UUID. | ||
999 | objatt.FromItemID = UUID.Random(); | ||
1000 | } | ||
994 | 1001 | ||
995 | if (DebugLevel > 0) | 1002 | if (DebugLevel > 0) |
996 | m_log.DebugFormat( | 1003 | m_log.DebugFormat( |