Code

fix the erroneous double opacity on filtered objects
authorbuliabyak <buliabyak@users.sourceforge.net>
Fri, 20 Oct 2006 07:00:30 +0000 (07:00 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Fri, 20 Oct 2006 07:00:30 +0000 (07:00 +0000)
src/display/nr-arena-item.cpp

index d4e237104ea0c66acd5283cb9470556f3c8ff44b..a46ad0cc0496571525f75a37bc6dacb5655bdfb0 100644 (file)
@@ -509,8 +509,12 @@ 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 {
-            /* Opacity only */
-            nr_blit_pixblock_pixblock_alpha (dpb, &ipb, item->opacity);
+            if (item->filter && !outline) {
+                nr_blit_pixblock_pixblock(dpb, &ipb);
+            } else {
+                /* Opacity only */
+                nr_blit_pixblock_pixblock_alpha (dpb, &ipb, item->opacity);
+            }
         }
         nr_pixblock_release (&ipb);
         dpb->empty = FALSE;