diff options
author | AlexanderP ProductEngine <apaschenko@productengine.com> | 2012-05-03 19:40:45 +0300 |
---|---|---|
committer | AlexanderP ProductEngine <apaschenko@productengine.com> | 2012-05-03 19:40:45 +0300 |
commit | d9b915f09b4f9db0aa16d88dd4a7d5fb4980dc34 (patch) | |
tree | 7c866ba88b4ca3ce7d23eec1f3d1cb0e83ab32aa | |
parent | 423659c68076f99a73985b9bd1befa5c0f5d3457 (diff) |
MAINT-869 FIXED The object is marked as dead before it was removed from the selection.
-rwxr-xr-x | indra/newview/llviewermessage.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 18efeaf9e3..ce0e3067fb 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -4299,8 +4299,6 @@ void process_kill_object(LLMessageSystem *mesgsys, void **user_data) LL_DEBUGS("Messaging") << "Kill message for local " << local_id << LL_ENDL; } - LLSelectMgr::getInstance()->removeObjectFromSelections(id); - // ...don't kill the avatar if (!(id == gAgentID)) { @@ -4323,6 +4321,12 @@ void process_kill_object(LLMessageSystem *mesgsys, void **user_data) gObjectList.mNumUnknownKills++; } } + + // We should remove the object from selection after it is marked dead by gObjectList to make LLToolGrab, + // which is using the object, release the mouse capture correctly when the object dies. + // See LLToolGrab::handleHoverActive() and LLToolGrab::handleHoverNonPhysical(). + LLSelectMgr::getInstance()->removeObjectFromSelections(id); + } } |