diff options
| -rwxr-xr-x | indra/newview/lltoolselect.cpp | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/lltoolselect.cpp b/indra/newview/lltoolselect.cpp index 7c604a04bf..0e69cc51ac 100755 --- a/indra/newview/lltoolselect.cpp +++ b/indra/newview/lltoolselect.cpp @@ -35,6 +35,7 @@  #include "llmanip.h"  #include "llmenugl.h"  #include "llselectmgr.h" +#include "llviewermediafocus.h"  #include "lltoolmgr.h"  #include "llfloaterscriptdebug.h"  #include "llviewercamera.h" @@ -109,6 +110,21 @@ LLObjectSelectionHandle LLToolSelect::handleObjectSelection(const LLPickInfo& pi  	{  		BOOL already_selected = object->isSelected(); +		if (already_selected && +			object->getNumTEs() > 0 && +			!LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES)) +		{ +			const LLTextureEntry* tep = object->getTE(pick.mObjectFace); +			if (tep && !tep->isSelected() && !LLViewerMediaFocus::getInstance()->getFocusedObjectID().isNull()) +			{ +				// we were interacting with media and clicked on non selected face, drop media focus +				LLViewerMediaFocus::getInstance()->clearFocus(); +				// selection was removed and zoom preserved by clearFocus(), continue with regular selection +				already_selected = false; +				extend_select = true; +			} +		} +  		if ( extend_select )  		{  			if ( already_selected )  | 
