diff --git a/libs/canvas/arc.cc b/libs/canvas/arc.cc index 07420245cc..5beece7ce8 100644 --- a/libs/canvas/arc.cc +++ b/libs/canvas/arc.cc @@ -80,7 +80,11 @@ Arc::render (Rect const & /*area*/, Cairo::RefPtr context) const if (fill()) { setup_fill_context (context); - context->fill_preserve (); + if (outline()) { + context->fill_preserve (); + } else { + context->fill (); + } } if (outline()) { diff --git a/libs/canvas/constraint_packer.cc b/libs/canvas/constraint_packer.cc index d4cb5748aa..c160f5306d 100644 --- a/libs/canvas/constraint_packer.cc +++ b/libs/canvas/constraint_packer.cc @@ -756,7 +756,11 @@ ConstraintPacker::render (Rect const & area, Cairo::RefPtr conte setup_fill_context (context); context->rectangle (draw.x0, draw.y0, draw.width(), draw.height()); - context->fill_preserve (); + if (outline()) { + context->fill_preserve (); + } else { + context->fill (); + } } if (outline()) {