Bug 563255. cairo: PDF-operators: ensure text operations flushed before emitting clip

This commit is contained in:
Jeff Muizelaar 2010-06-15 15:34:09 -04:00
Родитель 0f98656cd2
Коммит 2f542854c4
3 изменённых файлов: 24 добавлений и 0 удалений

Просмотреть файл

@ -116,6 +116,8 @@ dwrite-glyph-extents.patch: Add padding to extents of antialiased glyphs, to avo
fix-ps-output.patch: PS: Add missing 'q' when resetting clip path (42b5cac7668625c9761113ff72b47af5cfd10377)
ensure-text-flushed.patch: PDF-operators: ensure text operations flushed before emitting clip (42b5cac7668625c9761113ff72b47af5cfd10377)
==== pixman patches ====
pixman-android-cpu-detect.patch: Add CPU detection support for Android, where we can't reliably access /proc/self/auxv.

Просмотреть файл

@ -480,6 +480,12 @@ _cairo_pdf_operators_clip (cairo_pdf_operators_t *pdf_operators,
const char *pdf_operator;
cairo_status_t status;
if (pdf_operators->in_text_object) {
status = _cairo_pdf_operators_end_text (pdf_operators);
if (unlikely (status))
return status;
}
if (! path->has_current_point) {
/* construct an empty path */
_cairo_output_stream_printf (pdf_operators->stream, "0 0 m ");

Просмотреть файл

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