bug 1328352 set alpha component appropriately in operator over for -moz-field r?stransky draft
authorKarl Tomlinson <karlt+@karlt.net>
Wed, 04 Jan 2017 08:43:20 +1300
changeset 455438 2eced6ae4d7ea47e74741737a6048de7cfc59113
parent 455333 cad2ea346d06ec5a3a70eda912513201dff0c21e
child 540991 4b14c6e48311bcdaf51254b578bc6a47a60d949f
push id40240
push userktomlinson@mozilla.com
push dateTue, 03 Jan 2017 19:51:37 +0000
reviewersstransky
bugs1328352
milestone53.0a1
bug 1328352 set alpha component appropriately in operator over for -moz-field r?stransky MozReview-Commit-ID: AP9JfZTKDse
widget/gtk/nsLookAndFeel.cpp
--- a/widget/gtk/nsLookAndFeel.cpp
+++ b/widget/gtk/nsLookAndFeel.cpp
@@ -70,16 +70,17 @@ ApplyColorOver(const GdkRGBA& aSource, G
     gdouble destCoef = aDest->alpha * (1.0 - sourceCoef);
     gdouble resultAlpha = sourceCoef + destCoef;
     if (resultAlpha != 0.0) { // don't divide by zero
         destCoef /= resultAlpha;
         sourceCoef /= resultAlpha;
         aDest->red = sourceCoef * aSource.red + destCoef * aDest->red;
         aDest->green = sourceCoef * aSource.green + destCoef * aDest->green;
         aDest->blue = sourceCoef * aSource.blue + destCoef * aDest->blue;
+        aDest->alpha = resultAlpha;
     }
 }
 
 static void
 GetLightAndDarkness(const GdkRGBA& aColor,
                     double* aLightness, double* aDarkness)
 {
     double sum = aColor.red + aColor.green + aColor.blue;