From 3af875df2fb34fb79e01b78b3dfc46ce4346fe96 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Wed, 20 Dec 2023 21:28:55 -0500
Subject: [PATCH] Only apply attachment overrides during skin info callback

---
 indra/newview/llvovolume.cpp | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 01f97f5faa8..6c48b5ee73a 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -1235,13 +1235,11 @@ void LLVOVolume::notifyMeshLoaded()
     LLVOAvatar *av = getAvatar();
     if (av && !isAnimatedObject())
     {
-        av->addAttachmentOverridesForObject(this);
         av->notifyAttachmentMeshLoaded();
     }
     LLControlAvatar *cav = getControlAvatar();
     if (cav && isAnimatedObject())
     {
-        cav->addAttachmentOverridesForObject(this);
         cav->notifyAttachmentMeshLoaded();
     }
     updateVisualComplexity();
@@ -1252,7 +1250,22 @@ void LLVOVolume::notifySkinInfoLoaded(const LLMeshSkinInfo* skin)
     mSkinInfoUnavaliable = false;
 	mSkinInfo = skin;
 
-	notifyMeshLoaded();
+	mSculptChanged = TRUE;
+	gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_GEOMETRY);
+
+	LLVOAvatar* av = getAvatar();
+	if (av && !isAnimatedObject())
+	{
+		av->addAttachmentOverridesForObject(this);
+		av->notifyAttachmentMeshLoaded();
+	}
+	LLControlAvatar* cav = getControlAvatar();
+	if (cav && isAnimatedObject())
+	{
+		cav->addAttachmentOverridesForObject(this);
+		cav->notifyAttachmentMeshLoaded();
+	}
+	updateVisualComplexity();
 }
 
 void LLVOVolume::notifySkinInfoUnavailable()
-- 
GitLab