Code

more correct double opacity fix: do not multiply by opacity if item->render_opacity...
authorbuliabyak <buliabyak@users.sourceforge.net>
Fri, 20 Oct 2006 08:33:17 +0000 (08:33 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Fri, 20 Oct 2006 08:33:17 +0000 (08:33 +0000)
src/display/nr-arena-item.cpp

index a46ad0cc0496571525f75a37bc6dacb5655bdfb0..12312c251652488c2e1fe206cd8b3c6d75361eb1 100644 (file)
@@ -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);
             }
         }