diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2020-09-01 21:04:17 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2020-09-01 21:04:17 +0000 |
commit | 2b5a52bde31bedbb69ab710e37e6daee52647b59 (patch) | |
tree | 4fe514018b3df3aac8ec3db3fed682416dbfa608 /Build/source/texk/dvipdfm-x/pdfnames.c | |
parent | 0fb16338aa6fe27e03efc9d7cb939d2c5cedec41 (diff) |
Fix an incompatible behavior introduced by the previous changes on the named object (rev.55887). (S. Hirara)
git-svn-id: svn://tug.org/texlive/trunk@56234 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfm-x/pdfnames.c')
-rw-r--r-- | Build/source/texk/dvipdfm-x/pdfnames.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Build/source/texk/dvipdfm-x/pdfnames.c b/Build/source/texk/dvipdfm-x/pdfnames.c index c6df49c0d43..103faaf6c63 100644 --- a/Build/source/texk/dvipdfm-x/pdfnames.c +++ b/Build/source/texk/dvipdfm-x/pdfnames.c @@ -224,8 +224,13 @@ pdf_names_lookup_reference (struct ht_table *names, const void *key, int keylen) value = ht_lookup_table(names, key, keylen); if (value) { - if (!value->reference) - value->reference = pdf_ref_obj(value->object); + if (!value->reference) { + if (value->object) { + value->reference = pdf_ref_obj(value->object); + } else { + WARN("Can't create object ref for already released object: %s", printable_key(key, keylen)); + } + } obj_ref = pdf_link_obj(value->reference); } else { /* A null object as dummy would create problems because as value @@ -273,8 +278,10 @@ pdf_names_close_object (struct ht_table *names, const void *key, int keylen) return -1; } - pdf_release_obj(value->object); - value->object = NULL; + if (value->reference) { + pdf_release_obj(value->object); + value->object = NULL; + } value->closed = 1; return 0; |