diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-04-07 11:11:39 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-04-07 11:11:39 +0300 |
commit | 7e0e58c55f7ff24df1a452e796b22f028b14dbd9 (patch) | |
tree | ffa66349d85f03fb94bfca4920402abb1d5d56f2 | |
parent | 14971778682405598a587922b97c1be46738eef7 (diff) |
SL-17092 Fix a gesture upload crash
-rw-r--r-- | indra/newview/llgesturemgr.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llpreviewgesture.cpp | 1 |
2 files changed, 8 insertions, 4 deletions
diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp index bd881f8e7a..489d34edca 100644 --- a/indra/newview/llgesturemgr.cpp +++ b/indra/newview/llgesturemgr.cpp @@ -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 diff --git a/indra/newview/llpreviewgesture.cpp b/indra/newview/llpreviewgesture.cpp index 061ecad099..39cdb6fb04 100644 --- a/indra/newview/llpreviewgesture.cpp +++ b/indra/newview/llpreviewgesture.cpp @@ -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(); |