diff options
-rw-r--r-- | gs/devices/vector/gdevpdf.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gs/devices/vector/gdevpdf.c b/gs/devices/vector/gdevpdf.c index 99e294cef..36d3aa4ed 100644 --- a/gs/devices/vector/gdevpdf.c +++ b/gs/devices/vector/gdevpdf.c | |||
@@ -2309,16 +2309,23 @@ pdf_close(gx_device * dev) | |||
2309 | FILE *tfile = pdev->xref.file; | 2309 | FILE *tfile = pdev->xref.file; |
2310 | gs_offset_t xref = 0; | 2310 | gs_offset_t xref = 0; |
2311 | gs_offset_t resource_pos; | 2311 | gs_offset_t resource_pos; |
2312 | long Catalog_id = pdev->Catalog->id, Info_id = pdev->Info->id, | 2312 | long Catalog_id = 0, Info_id = 0, |
2313 | Pages_id = pdev->Pages->id, Encrypt_id = 0; | 2313 | Pages_id = 0, Encrypt_id = 0; |
2314 | long Threads_id = 0; | 2314 | long Threads_id = 0; |
2315 | bool partial_page = (pdev->contents_id != 0 && pdev->next_page != 0); | 2315 | bool partial_page = (pdev->contents_id != 0 && pdev->next_page != 0); |
2316 | int code = 0, code1, pagecount=0; | 2316 | int code = 0, code1, pagecount=0; |
2317 | int64_t start_section, end_section; | 2317 | int64_t start_section, end_section; |
2318 | char str[256]; | 2318 | char str[256]; |
2319 | pdf_linearisation_t linear_params; | ||
2319 | 2320 | ||
2321 | if (!dev->is_open) | ||
2322 | return gs_error_undefined; | ||
2323 | dev->is_open = false; | ||
2324 | |||
2325 | Catalog_id = pdev->Catalog->id; | ||
2326 | Info_id = pdev->Info->id; | ||
2327 | Pages_id = pdev->Pages->id; | ||
2320 | 2328 | ||
2321 | pdf_linearisation_t linear_params; | ||
2322 | memset(&linear_params, 0x00, sizeof(linear_params)); | 2329 | memset(&linear_params, 0x00, sizeof(linear_params)); |
2323 | linear_params.Info_id = Info_id; | 2330 | linear_params.Info_id = Info_id; |
2324 | linear_params.Pages_id = Pages_id; | 2331 | linear_params.Pages_id = Pages_id; |