1 |
From 90fd0c7ca3efc1ddff64a86f4104b13b3ac969eb Mon Sep 17 00:00:00 2001 |
2 |
From: Michael Vrhel <michael.vrhel@artifex.com> |
3 |
Date: Thu, 29 Dec 2016 14:00:21 -0800 |
4 |
Subject: [PATCH] Bug 697456. Dont create new ctx when pdf14 device reenabled |
5 |
|
6 |
This bug had yet another weird case where the user created a |
7 |
file that pushed the pdf14 device twice. We were in that case, |
8 |
creating a new ctx and blowing away the original one with out |
9 |
proper clean up. To avoid, only create a new one when we need it. |
10 |
--- |
11 |
base/gdevp14.c | 6 ++++-- |
12 |
1 file changed, 4 insertions(+), 2 deletions(-) |
13 |
|
14 |
diff --git a/base/gdevp14.c b/base/gdevp14.c |
15 |
index fd56ec9..f19318e 100644 |
16 |
--- a/base/gdevp14.c |
17 |
+++ b/base/gdevp14.c |
18 |
@@ -1669,8 +1669,10 @@ pdf14_open(gx_device *dev) |
19 |
rect.p.y = 0; |
20 |
rect.q.x = dev->width; |
21 |
rect.q.y = dev->height; |
22 |
- pdev->ctx = pdf14_ctx_new(&rect, dev->color_info.num_components, |
23 |
- pdev->color_info.polarity != GX_CINFO_POLARITY_SUBTRACTIVE, dev); |
24 |
+ /* If we are reenabling the device dont create a new ctx. Bug 697456 */ |
25 |
+ if (pdev->ctx == NULL) |
26 |
+ pdev->ctx = pdf14_ctx_new(&rect, dev->color_info.num_components, |
27 |
+ pdev->color_info.polarity != GX_CINFO_POLARITY_SUBTRACTIVE, dev); |
28 |
if (pdev->ctx == NULL) |
29 |
return_error(gs_error_VMerror); |
30 |
pdev->free_devicen = true; |
31 |
-- |
32 |
2.9.3 |
33 |
|