From 5ee7941895e96537b1bc5f28dad087159700eb58 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 5 Feb 2023 22:34:00 +0100 Subject: [PATCH] Only use render-group when container is not opaque --- libs/canvas/container.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/canvas/container.cc b/libs/canvas/container.cc index 4b13115f9c..bd5204aa5e 100644 --- a/libs/canvas/container.cc +++ b/libs/canvas/container.cc @@ -58,7 +58,8 @@ Container::render (Rect const & area, Cairo::RefPtr context) con Item::render_children (area, context); if (_render_with_alpha >= 1.0) { - context->pop_group (); + context->pop_group_to_source (); + context->paint (); } else if (_render_with_alpha > 0) { context->pop_group_to_source (); context->paint_with_alpha (_render_with_alpha); @@ -76,7 +77,7 @@ Container::compute_bounding_box () const void Container::set_render_with_alpha (double alpha) { - if (alpha == 1.0 && NULL != g_getenv("ARDOUR_NO_OPAQUE_RENDER_GROUP")) { + if (alpha >= 1.0 && NULL == g_getenv("ARDOUR_OPAQUE_RENDER_GROUP")) { alpha = -1; // disable render group when fully opaque } if (_render_with_alpha == alpha) {