Index: indra/newview/app_settings/colors_base.xml
===================================================================
--- indra/newview/app_settings/colors_base.xml	(revision 90236)
+++ indra/newview/app_settings/colors_base.xml	(revision 90237)
@@ -37,6 +37,7 @@
 <ButtonUnselectedBgColor value="62, 62, 62, 255" />
 <ButtonUnselectedFgColor value="255, 255, 255, 255" />
 <ButtonBorderColor value="239, 156, 0, 255" />
+<ButtonFlashBgColor value="255, 190, 62, 127" /> 	<!-- Blended with button art -->
 <ButtonColor value="255, 255, 255, 255" /> 		<!-- Blended with button art, usually left as opaque white -->
 <ButtonImageColor value="255, 255, 255, 255" /> 	<!-- Blended with button art, usually left as opaque white -->
 
Index: indra/newview/app_settings/settings.xml
===================================================================
--- indra/newview/app_settings/settings.xml	(revision 90236)
+++ indra/newview/app_settings/settings.xml	(revision 90237)
@@ -888,7 +888,7 @@
       <key>Type</key>
       <string>S32</string>
       <key>Value</key>
-      <integer>3</integer>
+      <integer>8</integer>
     </map>
     <key>ButtonFlashRate</key>
     <map>
@@ -899,7 +899,7 @@
       <key>Type</key>
       <string>F32</string>
       <key>Value</key>
-      <real>2.0</real>
+      <real>1.25</real>
     </map>
     <key>ButtonHPad</key>
     <map>
Index: indra/llui/llbutton.cpp
===================================================================
--- indra/llui/llbutton.cpp	(revision 90236)
+++ indra/llui/llbutton.cpp	(revision 90237)
@@ -208,6 +208,7 @@
 	mHighlightColor = (				LLUI::sColorsGroup->getColor( "ButtonUnselectedFgColor" ) );
 	mUnselectedBgColor = (				LLUI::sColorsGroup->getColor( "ButtonUnselectedBgColor" ) );
 	mSelectedBgColor = (				LLUI::sColorsGroup->getColor( "ButtonSelectedBgColor" ) );
+	mFlashBgColor = (				LLUI::sColorsGroup->getColor( "ButtonFlashBgColor" ) );
 
 	mImageOverlayAlignment = LLFontGL::HCENTER;
 	mImageOverlayColor = LLColor4::white;
@@ -433,7 +434,9 @@
 					|| mToggleState;
 	
 	BOOL use_glow_effect = FALSE;
-	if ( mNeedsHighlight || flash )
+	LLColor4 glow_color = LLColor4::white;
+	LLRender::eBlendType glow_type = LLRender::BT_ADD_WITH_ALPHA;
+	if ( mNeedsHighlight )
 	{
 		if (pressed)
 		{
@@ -469,6 +472,16 @@
 		mImagep = mImageUnselected;
 	}
 
+	if (mFlashing)
+	{
+		use_glow_effect = TRUE;
+		glow_type = LLRender::BT_ALPHA; // blend the glow
+		if (mNeedsHighlight) // highlight color takes precedence
+			glow_color = glow_color % 0.5; // ... but less opaque.
+		else
+			glow_color = mFlashBgColor;
+	}
+
 	// Override if more data is available
 	// HACK: Use gray checked state to mean either:
 	//   enabled and tentative
@@ -555,7 +568,10 @@
 	
 	if (use_glow_effect)
 	{
-		mCurGlowStrength = lerp(mCurGlowStrength, mHoverGlowStrength, LLCriticalDamp::getInterpolant(0.05f));
+		mCurGlowStrength = lerp(mCurGlowStrength,
+					mFlashing ? (flash? 1.0 : 0.0)
+					: mHoverGlowStrength,
+					LLCriticalDamp::getInterpolant(0.05f));
 	}
 	else
 	{
@@ -571,8 +587,8 @@
 			mImagep->draw(getLocalRect(), getEnabled() ? mImageColor : mDisabledImageColor  );
 			if (mCurGlowStrength > 0.01f)
 			{
-				gGL.setSceneBlendType(LLRender::BT_ADD_WITH_ALPHA);
-				mImagep->drawSolid(0, 0, getRect().getWidth(), getRect().getHeight(), LLColor4(1.f, 1.f, 1.f, mCurGlowStrength));
+				gGL.setSceneBlendType(glow_type);
+				mImagep->drawSolid(0, 0, getRect().getWidth(), getRect().getHeight(), glow_color % mCurGlowStrength);
 				gGL.setSceneBlendType(LLRender::BT_ALPHA);
 			}
 		}
@@ -581,8 +597,8 @@
 			mImagep->draw(0, 0, getEnabled() ? mImageColor : mDisabledImageColor );
 			if (mCurGlowStrength > 0.01f)
 			{
-				gGL.setSceneBlendType(LLRender::BT_ADD_WITH_ALPHA);
-				mImagep->drawSolid(0, 0, LLColor4(1.f, 1.f, 1.f, mCurGlowStrength));
+				gGL.setSceneBlendType(glow_type);
+				mImagep->drawSolid(0, 0, glow_color % mCurGlowStrength);
 				gGL.setSceneBlendType(LLRender::BT_ALPHA);
 			}
 		}
Index: indra/llui/llbutton.h
===================================================================
--- indra/llui/llbutton.h	(revision 90236)
+++ indra/llui/llbutton.h	(revision 90237)
@@ -267,6 +267,7 @@
 	LLColor4		mHighlightColor;
 	LLColor4		mUnselectedBgColor;
 	LLColor4		mSelectedBgColor;
+	LLColor4		mFlashBgColor;
 
 	LLColor4		mImageColor;
 	LLColor4		mDisabledImageColor;
