diff --git a/gsk/ngl/gsknglrenderjob.c b/gsk/ngl/gsknglrenderjob.c index f2dec8d9e8..5832e557b5 100644 --- a/gsk/ngl/gsknglrenderjob.c +++ b/gsk/ngl/gsknglrenderjob.c @@ -2805,6 +2805,9 @@ gsk_ngl_render_job_visit_blur_node (GskNglRenderJob *job, g_assert (blur_radius > 0); + if (node_is_invisible (child)) + return; + key.pointer = node; key.pointer_is_child = FALSE; key.scale_x = job->scale_x; @@ -2903,6 +2906,9 @@ gsk_ngl_render_job_visit_color_matrix_node (GskNglRenderJob *job, GskNglRenderOffscreen offscreen = {0}; float offset[4]; + if (node_is_invisible (child)) + return; + offscreen.bounds = &node->bounds; offscreen.reset_clip = TRUE;