summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x/pdfdoc.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvipdfm-x/pdfdoc.c')
-rw-r--r--Build/source/texk/dvipdfm-x/pdfdoc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Build/source/texk/dvipdfm-x/pdfdoc.c b/Build/source/texk/dvipdfm-x/pdfdoc.c
index 8299af94eb2..76a4ada1ccd 100644
--- a/Build/source/texk/dvipdfm-x/pdfdoc.c
+++ b/Build/source/texk/dvipdfm-x/pdfdoc.c
@@ -520,6 +520,9 @@ pdf_doc_get_page_resources (pdf_doc *p, const char *category)
if (!resources) {
resources = pdf_new_dict();
pdf_add_dict(res_dict, pdf_new_name(category), resources);
+ } else if (pdf_obj_typeof(resources) == PDF_INDIRECT) {
+ resources = pdf_deref_obj(resources); /* FIXME: deref_obj increment link count */
+ pdf_release_obj(resources); /* FIXME: just to decrement link count */
}
return resources;
@@ -533,10 +536,12 @@ pdf_doc_add_page_resource (const char *category,
pdf_obj *resources;
pdf_obj *duplicate;
+#if 0
if (!PDF_OBJ_INDIRECTTYPE(resource_ref)) {
WARN("Passed non indirect reference...");
resource_ref = pdf_ref_obj(resource_ref); /* leak */
}
+#endif
resources = pdf_doc_get_page_resources(p, category);
duplicate = pdf_lookup_dict(resources, resource_name);
if (duplicate && pdf_compare_reference(duplicate, resource_ref)) {