From 9d85f4ebe99ea511b032622de7499e81fd93fbd6 Mon Sep 17 00:00:00 2001
From: Paul Guslisty <pguslisty@productengine.com>
Date: Fri, 16 Apr 2010 17:24:50 +0300
Subject: [PATCH] Fixed normal EXT-6812 ([TRUNCATION] APARIENCIA window > Forma
 > Boca > Labios: prominec. \"Labios: prominenc\" should be \"Labios:
 prominencia\".)

- There was two reasons:
1. Uninitialized variable in llsliderctrl.(h/cpp) that contains label size. This variable take part in calculation of TextBox size of label.
2. Font of 'label string' and text box was different. This causes wrong calculation of 'label string' length.

Reviwed by Vadim Savchuk and Mike Antipov at https://codereview.productengine.com/secondlife/r/246/

--HG--
branch : product-engine
---
 indra/llui/llsliderctrl.cpp                               | 8 +++++---
 indra/llui/llsliderctrl.h                                 | 2 ++
 .../skins/default/xui/en/panel_scrolling_param.xml        | 1 -
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/indra/llui/llsliderctrl.cpp b/indra/llui/llsliderctrl.cpp
index 80ee5d09843..04958075db8 100644
--- a/indra/llui/llsliderctrl.cpp
+++ b/indra/llui/llsliderctrl.cpp
@@ -63,7 +63,8 @@ LLSliderCtrl::LLSliderCtrl(const LLSliderCtrl::Params& p)
 	mCanEditText(p.can_edit_text),
 	mPrecision(p.decimal_digits),
 	mTextEnabledColor(p.text_color()),
-	mTextDisabledColor(p.text_disabled_color())
+	mTextDisabledColor(p.text_disabled_color()),
+	mLabelWidth(p.label_width)
 {
 	S32 top = getRect().getHeight();
 	S32 bottom = 0;
@@ -86,6 +87,7 @@ LLSliderCtrl::LLSliderCtrl(const LLSliderCtrl::Params& p)
 		params.initial_value(p.label());
 		mLabelBox = LLUICtrlFactory::create<LLTextBox> (params);
 		addChild(mLabelBox);
+		mLabelFont = params.font();
 	}
 
 	if (p.show_text && !p.text_width.isProvided())
@@ -186,9 +188,9 @@ BOOL LLSliderCtrl::setLabelArg( const std::string& key, const LLStringExplicit&
 	if (mLabelBox)
 	{
 		res = mLabelBox->setTextArg(key, text);
-		if (res && mLabelWidth == 0)
+		if (res && mLabelFont && mLabelWidth == 0)
 		{
-			S32 label_width = mFont->getWidth(mLabelBox->getText());
+			S32 label_width = mLabelFont->getWidth(mLabelBox->getText());
 			LLRect rect = mLabelBox->getRect();
 			S32 prev_right = rect.mRight;
 			rect.mRight = rect.mLeft + label_width;
diff --git a/indra/llui/llsliderctrl.h b/indra/llui/llsliderctrl.h
index c4258497822..482c81a0f40 100644
--- a/indra/llui/llsliderctrl.h
+++ b/indra/llui/llsliderctrl.h
@@ -141,6 +141,7 @@ class LLSliderCtrl : public LLF32UICtrl
 	void			reportInvalidData();
 
 	const LLFontGL*	mFont;
+	const LLFontGL*	mLabelFont;
 	BOOL			mShowText;
 	BOOL			mCanEditText;
 	
@@ -158,3 +159,4 @@ class LLSliderCtrl : public LLF32UICtrl
 };
 
 #endif  // LL_LLSLIDERCTRL_H
+
diff --git a/indra/newview/skins/default/xui/en/panel_scrolling_param.xml b/indra/newview/skins/default/xui/en/panel_scrolling_param.xml
index 80425639006..19eb4bb0d64 100644
--- a/indra/newview/skins/default/xui/en/panel_scrolling_param.xml
+++ b/indra/newview/skins/default/xui/en/panel_scrolling_param.xml
@@ -110,7 +110,6 @@
      increment="1"
      initial_value="0"
      label="[DESC]"
-     label_width="100"
      layout="bottom|left"
      left="6"
      max_val="100"
-- 
GitLab