diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp
index b55829b145..f5a3db63cc 100755
--- a/indra/llui/llspinctrl.cpp
+++ b/indra/llui/llspinctrl.cpp
@@ -174,16 +174,23 @@ void LLSpinCtrl::onUpBtn( const LLSD& data )
F32 cur_val = (F32) atof(text.c_str());
// use getValue()/setValue() to force reload from/to control
+ // alt/ctrl/shift keys modify increment
//F32 val = cur_val + mIncrement;
- //KC: alt/ctrl/shift keys modify increment
F32 inc = mIncrement;
- if(gKeyboard->getKeyDown(KEY_ALT))
+ if (gKeyboard->getKeyDown(KEY_ALT))
+ {
inc *= 10.f;
- else if(gKeyboard->getKeyDown(KEY_CONTROL))
+ }
+ else if (gKeyboard->getKeyDown(KEY_CONTROL))
+ {
inc *= 0.1f;
- else if(gKeyboard->getKeyDown(KEY_SHIFT))
+ }
+ else if (gKeyboard->getKeyDown(KEY_SHIFT))
+ {
inc *= 0.01f;
+ }
F32 val = cur_val + inc;
+ //
val = clamp_precision(val, mPrecision);
val = llmin( val, mMaxValue );
if (val < mMinValue) val = mMinValue;
@@ -216,16 +223,23 @@ void LLSpinCtrl::onDownBtn( const LLSD& data )
LLLocale locale(LLLocale::USER_LOCALE);
F32 cur_val = (F32) atof(text.c_str());
+ // alt/ctrl/shift keys modify increment
//F32 val = cur_val - mIncrement;
- //KC: alt/ctrl/shift keys modify increment
F32 inc = mIncrement;
- if(gKeyboard->getKeyDown(KEY_ALT))
+ if (gKeyboard->getKeyDown(KEY_ALT))
+ {
inc *= 10.f;
- else if(gKeyboard->getKeyDown(KEY_CONTROL))
+ }
+ else if (gKeyboard->getKeyDown(KEY_CONTROL))
+ {
inc *= 0.1f;
- else if(gKeyboard->getKeyDown(KEY_SHIFT))
+ }
+ else if (gKeyboard->getKeyDown(KEY_SHIFT))
+ {
inc *= 0.01f;
+ }
F32 val = cur_val - inc;
+ //
val = clamp_precision(val, mPrecision);
val = llmax( val, mMinValue );