From b3bdde2f1c1b04204a63703beb8a0f8b6deef03d Mon Sep 17 00:00:00 2001 From: buliabyak Date: Fri, 20 Oct 2006 08:33:17 +0000 Subject: [PATCH] more correct double opacity fix: do not multiply by opacity if item->render_opacity, i.e. the opacity was already applied during render --- src/display/nr-arena-item.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/display/nr-arena-item.cpp b/src/display/nr-arena-item.cpp index a46ad0cc0..12312c251 100644 --- a/src/display/nr-arena-item.cpp +++ b/src/display/nr-arena-item.cpp @@ -509,10 +509,9 @@ nr_arena_item_invoke_render (NRArenaItem *item, NRRectL const *area, /* This pointer wouldn't be valid outside this block, so clear it */ item->background_pb = NULL; } else { - if (item->filter && !outline) { + if (item->render_opacity) { // opacity was already rendered in, just copy to dpb here nr_blit_pixblock_pixblock(dpb, &ipb); - } else { - /* Opacity only */ + } else { // copy while multiplying by opacity nr_blit_pixblock_pixblock_alpha (dpb, &ipb, item->opacity); } } -- 2.30.2