From babbe1b15d1c9f635298516f00f13b8ca79d4d5f Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Tue, 15 Dec 2020 20:14:39 +0000 Subject: dvipdfm-x : Fix a bug introduced in rev.56265: Change behavior when the resource object is an indirect object. git-svn-id: svn://tug.org/texlive/trunk@57144 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/dvipdfm-x/ChangeLog | 10 ++++++++++ Build/source/texk/dvipdfm-x/configure | 22 +++++++++++----------- Build/source/texk/dvipdfm-x/configure.ac | 2 +- Build/source/texk/dvipdfm-x/spc_pdfm.c | 14 ++++++++++++++ 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog index c033bfba7f3..81a0cdfd090 100644 --- a/Build/source/texk/dvipdfm-x/ChangeLog +++ b/Build/source/texk/dvipdfm-x/ChangeLog @@ -1,3 +1,13 @@ +2020-12-16 Shunsaku Hirata + + * spc_pdfm.c: Fix a bug introduced in rev.56265: When the + resource dictionary (of some resource category) is an indirect + object and then pdf:put operation is done against that + resource category, the operation fails. Now this situation is + taken into account. (The content of old resource is merged + into new one). + * configure.ac: Version 20201216. + 2020-12-14 Akira Kakuto * pkfont.c: Fix an incorrect argument for mktexpk. diff --git a/Build/source/texk/dvipdfm-x/configure b/Build/source/texk/dvipdfm-x/configure index 353386a85a0..609476ac362 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) 20201214. +# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20201216. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dvipdfm-x (TeX Live)' PACKAGE_TARNAME='dvipdfm-x--tex-live-' -PACKAGE_VERSION='20201214' -PACKAGE_STRING='dvipdfm-x (TeX Live) 20201214' +PACKAGE_VERSION='20201216' +PACKAGE_STRING='dvipdfm-x (TeX Live) 20201216' 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) 20201214 to adapt to many kinds of systems. +\`configure' configures dvipdfm-x (TeX Live) 20201216 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) 20201214:";; + short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20201216:";; 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 20201214 +dvipdfm-x (TeX Live) configure 20201216 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 20201214, which was +It was created by dvipdfm-x (TeX Live) $as_me 20201216, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -8072,7 +8072,7 @@ fi # Define the identity of the package. PACKAGE='dvipdfm-x--tex-live-' - VERSION='20201214' + VERSION='20201216' cat >>confdefs.h <<_ACEOF @@ -14741,7 +14741,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -dvipdfm-x (TeX Live) config.lt 20201214 +dvipdfm-x (TeX Live) config.lt 20201216 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -16631,7 +16631,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 20201214, which was +This file was extended by dvipdfm-x (TeX Live) $as_me 20201216, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16701,7 +16701,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 20201214 +dvipdfm-x (TeX Live) config.status 20201216 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 47c0d0ff61a..9724740b696 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)], [20201214], [dvipdfmx@tug.org]) +AC_INIT([dvipdfm-x (TeX Live)], [20201216], [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/spc_pdfm.c b/Build/source/texk/dvipdfm-x/spc_pdfm.c index 481943cce5f..d45e09330f2 100644 --- a/Build/source/texk/dvipdfm-x/spc_pdfm.c +++ b/Build/source/texk/dvipdfm-x/spc_pdfm.c @@ -193,6 +193,20 @@ safeputresdict (pdf_obj *kp, pdf_obj *vp, void *dp) key = pdf_name_value(kp); dict = pdf_lookup_dict(dp, key); + /* Not sure what is the best way to handle this situation */ + if (PDF_OBJ_INDIRECTTYPE(dict)) { + if (PDF_OBJ_INDIRECTTYPE(vp)) { + /* If two indirect objects are pointing the same object, do nothing. */ + if (!pdf_compare_reference(dict, vp)) { + return 0; + } else { + /* otherwise merge the content of old one (see below) */ + dict = pdf_deref_obj(dict); + pdf_release_obj(dict); /* decrement link count */ + } + } + } + if (pdf_obj_typeof(vp) == PDF_INDIRECT) { /* Copy the content of old resource category dict (if exists) */ if (dict) { -- cgit v1.2.3