michael@0: diff --git a/gfx/cairo/cairo/src/cairo-pdf-operators.c b/gfx/cairo/cairo/src/cairo-pdf-operators.c michael@0: --- a/gfx/cairo/cairo/src/cairo-pdf-operators.c michael@0: +++ b/gfx/cairo/cairo/src/cairo-pdf-operators.c michael@0: @@ -480,6 +480,12 @@ _cairo_pdf_operators_clip (cairo_pdf_ope michael@0: const char *pdf_operator; michael@0: cairo_status_t status; michael@0: michael@0: + if (pdf_operators->in_text_object) { michael@0: + status = _cairo_pdf_operators_end_text (pdf_operators); michael@0: + if (unlikely (status)) michael@0: + return status; michael@0: + } michael@0: + michael@0: if (! path->has_current_point) { michael@0: /* construct an empty path */ michael@0: _cairo_output_stream_printf (pdf_operators->stream, "0 0 m ");