summaryrefslogtreecommitdiff
path: root/src/cairo-pdf-surface.c
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2021-10-03 14:39:22 +1030
committerAdrian Johnson <ajohnson@redneon.com>2021-10-03 14:48:06 +1030
commit58aadd1481421d3c3e3189b4de0f640404ecaaab (patch)
tree4b7c24304003c8a8e73b0177dcd6a5999ea3906f /src/cairo-pdf-surface.c
parentd87fe096b90005ced23c76f3b44c1a3ad03d9b55 (diff)
downloadcairo-58aadd1481421d3c3e3189b4de0f640404ecaaab.tar.gz
pdf: reset current operator when resetting clip
PDF output uses q/Q operators to reset the clip path. This also resets the PDF graphics state including the current blend mode. When resetting the clip path, reset the current blend mode tracked by the PDF surface so that if a non-default blend mode is required, the surface will emit the correct blend mode. Fixes #514
Diffstat (limited to 'src/cairo-pdf-surface.c')
-rw-r--r--src/cairo-pdf-surface.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 07fe5dffc..e51c36156 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -417,6 +417,7 @@ _cairo_pdf_surface_clipper_intersect_clip_path (cairo_surface_clipper_t *clipper
_cairo_output_stream_printf (surface->output, "Q q\n");
surface->current_pattern_is_solid_color = FALSE;
+ surface->current_operator = CAIRO_OPERATOR_OVER;
_cairo_pdf_operators_reset (&surface->pdf_operators);
return CAIRO_STATUS_SUCCESS;