The following patch fixes the issue where using a named color with an
explicit alpha clobbers the alpha in the original color in
Shoes::COLORS.

-mental

diff --git a/shoes/ruby.c b/shoes/ruby.c
index 484d37f..6dd16d8 100644
--- a/shoes/ruby.c
+++ b/shoes/ruby.c
@@ -1506,7 +1506,7 @@ shoes_color_method_missing(int argc, VALUE *argv, VALUE 
self)
   {
     shoes_color *color;
     Data_Get_Struct(c, shoes_color, color);
-    color->a = NUM2RGBINT(alpha);
+    c = shoes_color_new(color->r, color->g, color->b, NUM2RGBINT(alpha));
   }
 
   return c;


Reply via email to