summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-10-30 21:21:59 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-10-30 21:21:59 +0000
commitb81daf8ad7650dbebb4bf95c69fe9af168a0e756 (patch)
treec58f76a2f67502e89bb64cc7d050f195d789b235 /Build
parent8b8344160fa01bfeda8fd3fba73e148b077d128a (diff)
Fix a bug that mps images are not reused when they are included multiple times. (S. Hirata)
git-svn-id: svn://tug.org/texlive/trunk@56814 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/dvipdfm-x/ChangeLog7
-rwxr-xr-xBuild/source/texk/dvipdfm-x/configure22
-rw-r--r--Build/source/texk/dvipdfm-x/configure.ac2
-rw-r--r--Build/source/texk/dvipdfm-x/pdfximage.c39
4 files changed, 49 insertions, 21 deletions
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog
index add9a99398c..f8cfce751be 100644
--- a/Build/source/texk/dvipdfm-x/ChangeLog
+++ b/Build/source/texk/dvipdfm-x/ChangeLog
@@ -1,3 +1,10 @@
+2020-10-31 Shunsaku Hirata <shunsaku.hirata74@gmail.com>
+
+ * pdfximage.c: Fix a bug that mps images are not reused when
+ they are included multiple times. Bug introduced by "Forward
+ reference" support added on 2020-07-21.
+ * configure.ac: Version 20201031.
+
2020-10-28 Shunsaku Hirata <shunsaku.hirata74@gmail.com>
* cidtype0.c: Fix a bug that the conditional for deciding if
diff --git a/Build/source/texk/dvipdfm-x/configure b/Build/source/texk/dvipdfm-x/configure
index ff01c1f6367..7db187ef858 100755
--- a/Build/source/texk/dvipdfm-x/configure
+++ b/Build/source/texk/dvipdfm-x/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20201028.
+# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20201031.
#
# Report bugs to <dvipdfmx@tug.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='dvipdfm-x (TeX Live)'
PACKAGE_TARNAME='dvipdfm-x--tex-live-'
-PACKAGE_VERSION='20201028'
-PACKAGE_STRING='dvipdfm-x (TeX Live) 20201028'
+PACKAGE_VERSION='20201031'
+PACKAGE_STRING='dvipdfm-x (TeX Live) 20201031'
PACKAGE_BUGREPORT='dvipdfmx@tug.org'
PACKAGE_URL=''
@@ -1350,7 +1350,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures dvipdfm-x (TeX Live) 20201028 to adapt to many kinds of systems.
+\`configure' configures dvipdfm-x (TeX Live) 20201031 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1421,7 +1421,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20201028:";;
+ short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20201031:";;
esac
cat <<\_ACEOF
@@ -1551,7 +1551,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dvipdfm-x (TeX Live) configure 20201028
+dvipdfm-x (TeX Live) configure 20201031
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2390,7 +2390,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dvipdfm-x (TeX Live) $as_me 20201028, which was
+It was created by dvipdfm-x (TeX Live) $as_me 20201031, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -8077,7 +8077,7 @@ fi
# Define the identity of the package.
PACKAGE='dvipdfm-x--tex-live-'
- VERSION='20201028'
+ VERSION='20201031'
cat >>confdefs.h <<_ACEOF
@@ -14746,7 +14746,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-dvipdfm-x (TeX Live) config.lt 20201028
+dvipdfm-x (TeX Live) config.lt 20201031
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -16636,7 +16636,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by dvipdfm-x (TeX Live) $as_me 20201028, which was
+This file was extended by dvipdfm-x (TeX Live) $as_me 20201031, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16706,7 +16706,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-dvipdfm-x (TeX Live) config.status 20201028
+dvipdfm-x (TeX Live) config.status 20201031
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/dvipdfm-x/configure.ac b/Build/source/texk/dvipdfm-x/configure.ac
index ff799360e02..eecf48a733c 100644
--- a/Build/source/texk/dvipdfm-x/configure.ac
+++ b/Build/source/texk/dvipdfm-x/configure.ac
@@ -8,7 +8,7 @@ dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
-AC_INIT([dvipdfm-x (TeX Live)], [20201028], [dvipdfmx@tug.org])
+AC_INIT([dvipdfm-x (TeX Live)], [20201031], [dvipdfmx@tug.org])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([agl.c])
AC_CONFIG_AUX_DIR([../../build-aux])
diff --git a/Build/source/texk/dvipdfm-x/pdfximage.c b/Build/source/texk/dvipdfm-x/pdfximage.c
index b3b0d5ccd0a..0265ef8e5ad 100644
--- a/Build/source/texk/dvipdfm-x/pdfximage.c
+++ b/Build/source/texk/dvipdfm-x/pdfximage.c
@@ -466,8 +466,17 @@ pdf_ximage_load_image (const char *ident, const char *filename, load_options opt
WARN("Try again with the distiller.");
format = IMAGE_TYPE_EPS;
rewind(fp);
- } else
+ } else {
+ /* Workaround for the problem reported.
+ * mps_include_page() above doesn't set I->filename...
+ */
+ I = &ic->ximages[id];
+ if (!I->filename) {
+ I->filename = NEW(strlen(filename)+1, char);
+ strcpy(I->filename, filename);
+ }
break;
+ }
default:
id = load_image(ident, filename, fullname, format, fp, options);
break;
@@ -602,12 +611,18 @@ pdf_ximage_set_image (pdf_ximage *I, void *image_info, pdf_obj *resource)
pdf_merge_dict(dict, I->attr.dict);
if (I->ident) {
- pdf_names_add_object(global_names, I->ident, strlen(I->ident), pdf_link_obj(resource));
+ int error;
+
+ error = pdf_names_add_object(global_names, I->ident, strlen(I->ident), pdf_link_obj(resource));
if (I->reference)
pdf_release_obj(I->reference);
- /* Need to create object reference before closing it */
- I->reference = pdf_names_lookup_reference(global_names, I->ident, strlen(I->ident));
- pdf_names_close_object(global_names, I->ident, strlen(I->ident));
+ if (error) {
+ I->reference = pdf_ref_obj(resource);
+ } else {
+ /* Need to create object reference before closing it */
+ I->reference = pdf_names_lookup_reference(global_names, I->ident, strlen(I->ident));
+ pdf_names_close_object(global_names, I->ident, strlen(I->ident));
+ }
I->reserved = 0;
} else {
I->reference = pdf_ref_obj(resource);
@@ -642,12 +657,18 @@ pdf_ximage_set_form (pdf_ximage *I, void *form_info, pdf_obj *resource)
I->attr.bbox.ury = max4(p1.y, p2.y, p3.y, p4.y);
if (I->ident) {
- pdf_names_add_object(global_names, I->ident, strlen(I->ident), pdf_link_obj(resource));
+ int error;
+
+ error = pdf_names_add_object(global_names, I->ident, strlen(I->ident), pdf_link_obj(resource));
if (I->reference)
pdf_release_obj(I->reference);
- /* Need to create object reference before closing it */
- I->reference = pdf_names_lookup_reference(global_names, I->ident, strlen(I->ident));
- pdf_names_close_object(global_names, I->ident, strlen(I->ident));
+ if (error) {
+ I->reference = pdf_ref_obj(resource);
+ } else {
+ /* Need to create object reference before closing it */
+ I->reference = pdf_names_lookup_reference(global_names, I->ident, strlen(I->ident));
+ pdf_names_close_object(global_names, I->ident, strlen(I->ident));
+ }
I->reserved = 0;
} else {
I->reference = pdf_ref_obj(resource);