summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-04-13 00:36:11 +0000
committerKarl Berry <karl@freefriends.org>2022-04-13 00:36:11 +0000
commit69a601cd695503eabaf7077b9bc492764f7d62eb (patch)
tree3db3940d92e94d1e80dd976b9098f9ee1f01e6e0 /Build
parentb60cb6baabb1772d6fac621f08c892010aa43135 (diff)
write forms after images, to avoid recursive clobbering
git-svn-id: svn://tug.org/texlive/trunk@63017 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/pdftexdir/ChangeLog7
-rw-r--r--Build/source/texk/web2c/pdftexdir/pdftex.web12
2 files changed, 15 insertions, 4 deletions
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog
index 48527b08c72..64982dee465 100644
--- a/Build/source/texk/web2c/pdftexdir/ChangeLog
+++ b/Build/source/texk/web2c/pdftexdir/ChangeLog
@@ -1,3 +1,10 @@
+2022-04-12 Marcel Kr\"uger <tex@2krueger.de>
+
+ * pdftex.web (Write out resource list): Write forms last,
+ to avoid recursive xforms clobbering |pdfpagegroupval|.
+ https://tug.org/pipermail/pdftex/2022-April/009276.html
+ https://tug.org/pipermail/pdftex/2022-April/009280.html
+
2022-03-21 Karl Berry <karl@tug.org>
* TL'22 release.
diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.web b/Build/source/texk/web2c/pdftexdir/pdftex.web
index 0e06342a728..a28adc47273 100644
--- a/Build/source/texk/web2c/pdftexdir/pdftex.web
+++ b/Build/source/texk/web2c/pdftexdir/pdftex.web
@@ -1,4 +1,4 @@
-% Copyright 1996-2021 Han Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh,
+% Copyright 1996-2022 Han Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh,
% <thanh@@pdftex.org>
% This file is part of pdfTeX.
@@ -19166,10 +19166,14 @@ pdf_end_text;
pdfshipoutend(shipping_page);
pdf_end_stream
-@ @<Write out resource lists@>=
+@ We need to write forms last, since the recursive call to |ship_out|
+would reset global state such as |pdfpagegroupval|, which is needed
+while writing images.
+
+@<Write out resource lists@>=
@<Write out pending raw objects@>;
-@<Write out pending forms@>;
-@<Write out pending images@>
+@<Write out pending images@>;
+@<Write out pending forms@>
@ @<Write out resources dictionary@>=
pdf_begin_dict(pdf_last_resources, 1);