diff options
Diffstat (limited to 'indra/llui')
| -rw-r--r-- | indra/llui/llaccordionctrl.cpp | 24 | 
1 files changed, 23 insertions, 1 deletions
| diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp index 2ed1082f56..cdcf780d2e 100644 --- a/indra/llui/llaccordionctrl.cpp +++ b/indra/llui/llaccordionctrl.cpp @@ -372,11 +372,33 @@ void	LLAccordionCtrl::arrangeSinge()  		}  		else  		{ -			panel_height = expanded_height; +			if(mFitParent) +			{ +				panel_height = expanded_height; +			} +			else +			{ +				if(accordion_tab->getAccordionView()) +				{ +					panel_height = accordion_tab->getAccordionView()->getRect().getHeight() +  +						accordion_tab->getHeaderHeight() + 2*BORDER_MARGIN; +				} +				else +				{ +					panel_height = accordion_tab->getRect().getHeight(); +				} +			}  		} + +		// make sure at least header is shown +		panel_height = llmax(panel_height, accordion_tab->getHeaderHeight()); +  		ctrlSetLeftTopAndSize(mAccordionTabs[i], panel_left, panel_top, panel_width, panel_height);  		panel_top-=mAccordionTabs[i]->getRect().getHeight();  	} + +	show_hide_scrollbar(getRect().getWidth(), getRect().getHeight()); +	updateLayout(getRect().getWidth(), getRect().getHeight());  }  void	LLAccordionCtrl::arrangeMultiple() | 
