diff options
| -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); +  	}  } | 
