diff options
| author | Leyla Farazha <leyla@lindenlab.com> | 2010-04-08 16:03:37 -0700 | 
|---|---|---|
| committer | Leyla Farazha <leyla@lindenlab.com> | 2010-04-08 16:03:37 -0700 | 
| commit | a0ad3ea4fa1e37c737df9f78c4753217efc58531 (patch) | |
| tree | bc50de7b8170fbaa6e989f134547fd5ce24a882e | |
| parent | 89fad5ded4b5e78bf83f5c9817cb5220703883bc (diff) | |
EXT-6503 Setting a "click to" action in the Build tool breaks Shared Media interaction
reviewed by richard cc#182
| -rw-r--r-- | indra/newview/lltoolpie.cpp | 31 | 
1 files changed, 15 insertions, 16 deletions
| diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 84c463495b..a9bbee784d 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -181,10 +181,10 @@ BOOL LLToolPie::pickLeftMouseDownCallback()  		parent = object->getRootEdit();  	} - -	BOOL touchable = (object && object->flagHandleTouch())  -					 || (parent && parent->flagHandleTouch()); - +	if (handleMediaClick(mPick)) +	{ +		return TRUE; +	}  	// If it's a left-click, and we have a special action, do it.  	if (useClickAction(mask, object, parent)) @@ -286,14 +286,12 @@ BOOL LLToolPie::pickLeftMouseDownCallback()  		}  	} -	if (handleMediaClick(mPick)) -	{ -		return TRUE; -	} -  	// put focus back "in world"  	gFocusMgr.setKeyboardFocus(NULL); +	BOOL touchable = (object && object->flagHandleTouch())  +					 || (parent && parent->flagHandleTouch()); +  	// Switch to grab tool if physical or triggerable  	if (object &&   		!object->isAvatar() &&  @@ -513,21 +511,22 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)  	}  	LLViewerObject* click_action_object = click_action_pick.getObject(); -	if (click_action_object && useClickAction(mask, click_action_object, click_action_object->getRootEdit())) +	if (handleMediaHover(mHoverPick))  	{ +		// *NOTE: If you think the hover glow conflicts with the media outline, you +		// could disable it here.  		show_highlight = true; -		ECursorType cursor = cursor_from_object(click_action_object); -		gViewerWindow->setCursor(cursor); +		// cursor set by media object  		lldebugst(LLERR_USER_INPUT) << "hover handled by LLToolPie (inactive)" << llendl;  	} -	else if (handleMediaHover(mHoverPick)) +	else if (click_action_object && useClickAction(mask, click_action_object, click_action_object->getRootEdit()))  	{ -		// *NOTE: If you think the hover glow conflicts with the media outline, you -		// could disable it here.  		show_highlight = true; -		// cursor set by media object +		ECursorType cursor = cursor_from_object(click_action_object); +		gViewerWindow->setCursor(cursor);  		lldebugst(LLERR_USER_INPUT) << "hover handled by LLToolPie (inactive)" << llendl;  	} +	  	else if ((object && !object->isAvatar() && object->usePhysics())   			 || (parent && !parent->isAvatar() && parent->usePhysics()))  	{ | 
