SL-17092 Fix a gesture upload crash

meow-7.2.2
Andrey Kleshchev 2022-04-07 11:11:39 +03:00
parent 1497177868
commit 7e0e58c55f
2 changed files with 8 additions and 4 deletions

View File

@ -483,8 +483,13 @@ void LLGestureMgr::replaceGesture(const LLUUID& item_id, LLMultiGesture* new_ges
mActive[base_item_id] = new_gesture;
delete old_gesture;
old_gesture = NULL;
// replaceGesture(const LLUUID& item_id, const LLUUID& new_asset_id)
// replaces ids without repalcing gesture
if (old_gesture != new_gesture)
{
delete old_gesture;
old_gesture = NULL;
}
if (asset_id.notNull())
{
@ -1107,7 +1112,7 @@ void LLGestureMgr::onLoadComplete(const LLUUID& asset_uuid,
else
{
LLMultiGesture* old_gesture = (*it).second;
if (old_gesture)
if (old_gesture && old_gesture != gesture)
{
LL_DEBUGS("GestureMgr") << "Received dupplicate " << item_id << " callback" << LL_ENDL;
// In case somebody managest to activate, deactivate and

View File

@ -1029,7 +1029,6 @@ void LLPreviewGesture::finishInventoryUpload(LLUUID itemId, LLUUID newAssetId)
// active map with the new pointer.
if (LLGestureMgr::instance().isGestureActive(itemId))
{
//*TODO: This is crashing for some reason. Fix it.
// Active gesture edited from menu.
LLGestureMgr::instance().replaceGesture(itemId, newAssetId);
gInventory.notifyObservers();