rendernode: Work around a Cairo bug
authorBenjamin Otte <otte@redhat.com>
Mon, 3 Jul 2023 05:14:53 +0000 (07:14 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 3 Jul 2023 20:02:44 +0000 (22:02 +0200)
When color-matrix modifying a clear surface, the surface would remain
clear according to Cairo.

That's very unfortunate when we prepare a mask for inverted-alpha
masking.

gsk/gskrendernodeimpl.c

index e882a3cd0c97891ada869fb1acc73d22cff43987..e3ca2b8b73ad88169b469a44ddd6fe23361b8b39 100644 (file)
@@ -3770,6 +3770,8 @@ apply_color_matrix_to_pattern (cairo_pattern_t         *pattern,
 
   cairo_surface_mark_dirty (image_surface);
   cairo_surface_unmap_image (surface, image_surface);
+  /* https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/487 */
+  cairo_surface_mark_dirty (surface);
 }
 
 static void