summaryrefslogtreecommitdiffstats
path: root/src/display/drawing-group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/display/drawing-group.cpp')
-rw-r--r--src/display/drawing-group.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/display/drawing-group.cpp b/src/display/drawing-group.cpp
index c61aee6ad..337a6bcd9 100644
--- a/src/display/drawing-group.cpp
+++ b/src/display/drawing-group.cpp
@@ -94,9 +94,9 @@ unsigned
DrawingGroup::_renderItem(DrawingContext &dc, Geom::IntRect const &area, unsigned flags, DrawingItem *stop_at)
{
bool isolated = false;
- if (!parent() || (_isolation == SP_CSS_ISOLATION_ISOLATE && !_mix_blend_mode)) {
+ if (!parent() || _isolation == SP_CSS_ISOLATION_ISOLATE || _mix_blend_mode) {
isolated = true;
- }
+ }
int device_scale = dc.surface()->device_scale();
DrawingSurface intermediate(area, device_scale);
DrawingContext ict(intermediate);
@@ -127,7 +127,7 @@ DrawingGroup::_renderItem(DrawingContext &dc, Geom::IntRect const &area, unsigne
if (isolated) {
dc.rectangle(area);
dc.setSource(&intermediate);
- dc.setOperator(CAIRO_OPERATOR_OVER);
+ dc.setOperator(ink_css_blend_to_cairo_operator(_mix_blend_mode));
dc.fill();
}
return RENDER_OK;