st: Honor alpha range specified by pango_attr_foreground_alpha_new()
This is documented as a value between 1 and 65536. However we were passing a 0 value for 100% transparent colors, which is interpreted as "system inherited" in pango_renderer_get_alpha() docs. Ensure we respect this range by specifying the minimum allowed alpha (1) if the color is fully transparent. If someone notices this 1/65535th change I'll ask him how many pleiades can he count. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2504 (yes, again).
This commit is contained in:
parent
8378c9c9e0
commit
656168543f
@ -134,7 +134,16 @@ _st_set_text_from_style (ClutterText *text,
|
|||||||
|
|
||||||
if (color.alpha != 255)
|
if (color.alpha != 255)
|
||||||
{
|
{
|
||||||
PangoAttribute *alpha = pango_attr_foreground_alpha_new (color.alpha * 255);
|
PangoAttribute *alpha;
|
||||||
|
|
||||||
|
/* An alpha value of 0 means "system inherited", so the
|
||||||
|
* minimum regular value is 1.
|
||||||
|
*/
|
||||||
|
if (color.alpha == 0)
|
||||||
|
alpha = pango_attr_foreground_alpha_new (1);
|
||||||
|
else
|
||||||
|
alpha = pango_attr_foreground_alpha_new (color.alpha * 255);
|
||||||
|
|
||||||
pango_attr_list_insert (attribs, alpha);
|
pango_attr_list_insert (attribs, alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user