diff options
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/llui/llfloater.cpp | 27 | ||||
| -rwxr-xr-x | indra/llui/llfloater.h | 4 | 
2 files changed, 19 insertions, 12 deletions
| diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index e6db65916e..8e7aa7b22b 100755 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -2815,29 +2815,26 @@ void LLFloaterView::adjustToFitScreen(LLFloater* floater, BOOL allow_partial_out  		}  	} -	const LLRect& left_toolbar_rect = mToolbarRects[LLToolBarEnums::TOOLBAR_LEFT]; -	const LLRect& bottom_toolbar_rect = mToolbarRects[LLToolBarEnums::TOOLBAR_BOTTOM]; -	const LLRect& right_toolbar_rect = mToolbarRects[LLToolBarEnums::TOOLBAR_RIGHT];  	const LLRect& floater_rect = floater->getRect(); -	S32 delta_left = left_toolbar_rect.notEmpty() ? left_toolbar_rect.mRight - floater_rect.mRight : 0; -	S32 delta_bottom = bottom_toolbar_rect.notEmpty() ? bottom_toolbar_rect.mTop - floater_rect.mTop : 0; -	S32 delta_right = right_toolbar_rect.notEmpty() ? right_toolbar_rect.mLeft - floater_rect.mLeft : 0; +	S32 delta_left = mToolbarLeftRect.notEmpty() ? mToolbarLeftRect.mRight - floater_rect.mRight : 0; +	S32 delta_bottom = mToolbarBottomRect.notEmpty() ? mToolbarBottomRect.mTop - floater_rect.mTop : 0; +	S32 delta_right = mToolbarRightRect.notEmpty() ? mToolbarRightRect.mLeft - floater_rect.mLeft : 0;  	// move window fully onscreen  	if (floater->translateIntoRect( snap_in_toolbars ? getSnapRect() : gFloaterView->getRect(), allow_partial_outside ? FLOATER_MIN_VISIBLE_PIXELS : S32_MAX ))  	{  		floater->clearSnapTarget();  	} -	else if (delta_left > 0 && floater_rect.mTop < left_toolbar_rect.mTop && floater_rect.mBottom > left_toolbar_rect.mBottom) +	else if (delta_left > 0 && floater_rect.mTop < mToolbarLeftRect.mTop && floater_rect.mBottom > mToolbarLeftRect.mBottom)  	{  		floater->translate(delta_left, 0);  	} -	else if (delta_bottom > 0 && floater_rect.mLeft > bottom_toolbar_rect.mLeft && floater_rect.mRight < bottom_toolbar_rect.mRight) +	else if (delta_bottom > 0 && floater_rect.mLeft > mToolbarBottomRect.mLeft && floater_rect.mRight < mToolbarBottomRect.mRight)  	{  		floater->translate(0, delta_bottom);  	} -	else if (delta_right < 0 && floater_rect.mTop < right_toolbar_rect.mTop	&& floater_rect.mBottom > right_toolbar_rect.mBottom) +	else if (delta_right < 0 && floater_rect.mTop < mToolbarRightRect.mTop	&& floater_rect.mBottom > mToolbarRightRect.mBottom)  	{  		floater->translate(delta_right, 0);  	} @@ -3045,9 +3042,17 @@ void LLFloaterView::popVisibleAll(const skip_list_t& skip_list)  void LLFloaterView::setToolbarRect(LLToolBarEnums::EToolBarLocation tb, const LLRect& toolbar_rect)  { -	if (tb < LLToolBarEnums::TOOLBAR_COUNT) +	switch (tb)  	{ -		mToolbarRects[tb] = toolbar_rect; +	case LLToolBarEnums::TOOLBAR_LEFT: +		mToolbarLeftRect = toolbar_rect; +		break; +	case LLToolBarEnums::TOOLBAR_BOTTOM: +		mToolbarBottomRect = toolbar_rect; +		break; +	case LLToolBarEnums::TOOLBAR_RIGHT: +		mToolbarRightRect = toolbar_rect; +		break;  	}  } diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index ccaae1d02b..12eb3cdbfa 100755 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -581,7 +581,9 @@ private:  	void hiddenFloaterClosed(LLFloater* floater);  	LLRect				mLastSnapRect; -	LLRect				mToolbarRects[LLToolBarEnums::TOOLBAR_COUNT]; +	LLRect				mToolbarLeftRect; +	LLRect				mToolbarBottomRect; +	LLRect				mToolbarRightRect;  	LLHandle<LLView>	mSnapView;  	BOOL			mFocusCycleMode;  	S32				mSnapOffsetBottom; | 
