diff options
| -rw-r--r-- | indra/llui/llfloater.cpp | 10 | ||||
| -rw-r--r-- | indra/llui/llfloater.h | 1 | 
2 files changed, 10 insertions, 1 deletions
| diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 0e57ba02bf..1b6e4ed0e5 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2234,7 +2234,8 @@ LLFloaterView::LLFloaterView (const Params& p)  	mFocusCycleMode(FALSE),  	mMinimizePositionVOffset(0),  	mSnapOffsetBottom(0), -	mSnapOffsetRight(0) +	mSnapOffsetRight(0), +	mFrontChild(NULL)  {  	mSnapView = getHandle();  } @@ -2383,6 +2384,13 @@ LLRect LLFloaterView::findNeighboringPosition( LLFloater* reference_floater, LLF  void LLFloaterView::bringToFront(LLFloater* child, BOOL give_focus)  { +	if (mFrontChild == child) +	{ +		return; +	} + +	mFrontChild = child; +  	// *TODO: make this respect floater's mAutoFocus value, instead of  	// using parameter  	if (child->getHost()) diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 07b79d5523..ca0710cdc1 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -576,6 +576,7 @@ private:  	S32				mMinimizePositionVOffset;  	typedef std::vector<std::pair<LLHandle<LLFloater>, boost::signals2::connection> > hidden_floaters_t;  	hidden_floaters_t mHiddenFloaters; +	LLFloater *		mFrontChild;  };  // | 
