replace group handling code in pdftoepdf.cc with code that is simpler (and does not crash)
This commit is contained in:
parent
16fab6a59a
commit
6ab6f75880
|
@ -0,0 +1,34 @@
|
||||||
|
diff -up texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.debug texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc
|
||||||
|
--- texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc.debug 2022-01-20 10:25:58.454233201 -0500
|
||||||
|
+++ texlive-base-20210325/source/texk/web2c/pdftexdir/pdftoepdf.cc 2022-01-20 12:57:04.241513707 -0500
|
||||||
|
@@ -962,21 +962,30 @@ A change
|
||||||
|
does not improve the situation.
|
||||||
|
The changes below seem to work fine.
|
||||||
|
*/
|
||||||
|
+ if (page->getGroup() != NULL) {
|
||||||
|
+ groupDict = Object(page->getGroup());
|
||||||
|
+ } else {
|
||||||
|
+ pdftex_fail("PDF inclusion: getGroup failed");
|
||||||
|
+ }
|
||||||
|
+/*
|
||||||
|
// begin modification
|
||||||
|
groupDict = pageDict->lookup("Group");
|
||||||
|
Dict *dic1 = page->getGroup();
|
||||||
|
Dict *dic2 = groupDict.getDict();
|
||||||
|
// replace dic2 in groupDict with dic1
|
||||||
|
l = dic2->getLength();
|
||||||
|
+ pdftex_warn("dic2 length is %d", l);
|
||||||
|
for (i = 0; i < l; i++) {
|
||||||
|
groupDict.dictRemove(dic2->getKey(i));
|
||||||
|
}
|
||||||
|
l = dic1->getLength();
|
||||||
|
+ pdftex_warn("dic1 length is %d", l);
|
||||||
|
for (i = 0; i < l; i++) {
|
||||||
|
groupDict.dictAdd(dic1->getKey(i),
|
||||||
|
dic1->getValNF(i).copy());
|
||||||
|
}
|
||||||
|
// end modification
|
||||||
|
+*/
|
||||||
|
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
|
||||||
|
}
|
||||||
|
}
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
Name: %{shortname}-base
|
Name: %{shortname}-base
|
||||||
Version: %{source_date}
|
Version: %{source_date}
|
||||||
Release: 46%{?dist}
|
Release: 47%{?dist}
|
||||||
Epoch: 9
|
Epoch: 9
|
||||||
Summary: TeX formatting system
|
Summary: TeX formatting system
|
||||||
# The only files in the base package are directories, cache, and license texts
|
# The only files in the base package are directories, cache, and license texts
|
||||||
|
@ -477,6 +477,8 @@ Patch33: texlive-base-20210325-no-setpdfwrite.patch
|
||||||
|
|
||||||
# Poppler 22
|
# Poppler 22
|
||||||
Patch34: texlive-base-20210325-poppler-22.01.0.patch
|
Patch34: texlive-base-20210325-poppler-22.01.0.patch
|
||||||
|
# Fix crash in handling Group
|
||||||
|
Patch35: texlive-base-20210325-pdftoepdf-fix-crash.patch
|
||||||
|
|
||||||
# Can't do this because it causes everything else to be noarch
|
# Can't do this because it causes everything else to be noarch
|
||||||
# BuildArch: noarch
|
# BuildArch: noarch
|
||||||
|
@ -6741,6 +6743,7 @@ xz -dc %{SOURCE0} | tar x
|
||||||
|
|
||||||
%if 0%{?fedora} >= 36
|
%if 0%{?fedora} >= 36
|
||||||
%patch34 -p1 -b .poppler22
|
%patch34 -p1 -b .poppler22
|
||||||
|
%patch35 -p1 -b .poppler-crash-fix
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Setup copies of the licenses
|
# Setup copies of the licenses
|
||||||
|
@ -9404,6 +9407,9 @@ yes | %{_bindir}/updmap-sys --quiet --syncwithtrees >/dev/null 2>&1 || :
|
||||||
%doc %{_texdir}/texmf-dist/doc/latex/yplan/
|
%doc %{_texdir}/texmf-dist/doc/latex/yplan/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 20 2022 Tom Callaway <spot@fedoraproject.org> - 9:20210325-47
|
||||||
|
- replace group handling code in pdftoepdf.cc with code that is simpler (and does not crash)
|
||||||
|
|
||||||
* Sat Jan 15 2022 Tom Callaway <spot@fedoraproject.org> - 9:20210325-46
|
* Sat Jan 15 2022 Tom Callaway <spot@fedoraproject.org> - 9:20210325-46
|
||||||
- bootstrap off (conditionalize poppler changes)
|
- bootstrap off (conditionalize poppler changes)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue