From: Matthias Clasen Date: Wed, 13 Sep 2023 17:33:07 +0000 (-0400) Subject: rendernode: Fix handling of color glyphs X-Git-Tag: archive/raspbian/4.12.4+ds-3+rpi1^2~21^2~2^2~22 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=53cb64351d081e4c20fcea905370d49ff39636dd;p=gtk4.git rendernode: Fix handling of color glyphs The rendernode parser was mixing up its flags. Test included. Related: #6075 --- diff --git a/gsk/gskrendernodeparser.c b/gsk/gskrendernodeparser.c index 7a1b7a9bb1..7f00437068 100644 --- a/gsk/gskrendernodeparser.c +++ b/gsk/gskrendernodeparser.c @@ -3019,7 +3019,7 @@ gsk_text_node_serialize_glyphs (GskRenderNode *node, string_append_double (p, (double) glyphs[i].geometry.y_offset / PANGO_SCALE); if (!glyphs[i].attr.is_cluster_start) g_string_append (p, " same-cluster"); - if (!glyphs[i].attr.is_color) + if (glyphs[i].attr.is_color) g_string_append (p, " color"); } diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build index c0facb5a12..eb76c4a889 100644 --- a/testsuite/gsk/meson.build +++ b/testsuite/gsk/meson.build @@ -323,6 +323,8 @@ node_parser_tests = [ 'string-error.node', 'string-error.ref.node', 'testswitch.node', + 'text-color.node', + 'text-color.ref.node', 'text-fail.node', 'text-fail.ref.node', 'text-fail.errors', diff --git a/testsuite/gsk/nodeparser/text-color.node b/testsuite/gsk/nodeparser/text-color.node new file mode 100644 index 0000000000..8c0786bbab --- /dev/null +++ b/testsuite/gsk/nodeparser/text-color.node @@ -0,0 +1,5 @@ +text { + color: rgba(255,0,0,0.533333); + font: "Noto Sans 300"; + glyphs: 50 312, 2712 0 -156 -28.7891 color; +} diff --git a/testsuite/gsk/nodeparser/text-color.ref.node b/testsuite/gsk/nodeparser/text-color.ref.node new file mode 100644 index 0000000000..8c0786bbab --- /dev/null +++ b/testsuite/gsk/nodeparser/text-color.ref.node @@ -0,0 +1,5 @@ +text { + color: rgba(255,0,0,0.533333); + font: "Noto Sans 300"; + glyphs: 50 312, 2712 0 -156 -28.7891 color; +}