diff --git a/indra/newview/ao.cpp b/indra/newview/ao.cpp index d398c73afe..92c9c813e7 100644 --- a/indra/newview/ao.cpp +++ b/indra/newview/ao.cpp @@ -203,6 +203,16 @@ void FloaterAO::updateList() } } +void FloaterAO::updateScrollListData() +{ + auto animationListData = mAnimationList->getAllData(); + for (auto index = 0; index < mSelectedState->mAnimations.size(); ++index) + { + LLScrollListItem* item = animationListData[index]; + item->setUserdata(&mSelectedState->mAnimations[index].mInventoryUUID); + } +} + bool FloaterAO::postBuild() { LLPanel* aoPanel = getChild("animation_overrider_outer_panel"); @@ -674,6 +684,7 @@ void FloaterAO::onClickMoveUp() if (AOEngine::instance().swapWithPrevious(mSelectedState, currentIndex)) { mAnimationList->swapWithPrevious(currentIndex); + updateScrollListData(); } } @@ -699,6 +710,7 @@ void FloaterAO::onClickMoveDown() if (AOEngine::instance().swapWithNext(mSelectedState, currentIndex)) { mAnimationList->swapWithNext(currentIndex); + updateScrollListData(); } } diff --git a/indra/newview/ao.h b/indra/newview/ao.h index be4de0fbc5..1ef283d9c0 100644 --- a/indra/newview/ao.h +++ b/indra/newview/ao.h @@ -55,6 +55,7 @@ class FloaterAO virtual void onOpen(const LLSD& key); virtual void onClose(bool app_quitting); void updateList(); + void updateScrollListData(); void updateSetParameters(); void updateAnimationList();