summaryrefslogtreecommitdiff
path: root/pxl
diff options
context:
space:
mode:
authorMichael Vrhel <michael.vrhel@artifex.com>2011-06-25 11:07:25 -0700
committerMichael Vrhel <michael.vrhel@artifex.com>2011-06-26 22:13:37 -0700
commitf4e1d4b280f6e6ff73d630e2b103a1a6b50c03d9 (patch)
tree2b840e7fbf8d89771b110eb79585841adf7e3262 /pxl
parent7af1ebacdb9947ea5197523bcda7764431769e8f (diff)
Fix for icc directory and icc device profile initialization.
Diffstat (limited to 'pxl')
-rw-r--r--pxl/pxpthr.c3
-rw-r--r--pxl/pxtop.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/pxl/pxpthr.c b/pxl/pxpthr.c
index d2d711491..e16161b53 100644
--- a/pxl/pxpthr.c
+++ b/pxl/pxpthr.c
@@ -147,6 +147,9 @@ pxPassthrough_init(px_state_t *pxs)
code = gs_setdevice_no_erase(global_pcs->pgs, gs_currentdevice(pxs->pgs));
if ( code < 0 )
return code;
+ code = gsicc_sync_iccdir(gs_currentdevice(pxs->pgs), pxs->pgs);
+ if (code < 0)
+ return code;
/* Also, check if the device profile was set int the global_pcs pgs.
If not then initialize. Fix for seg fault with T427.BIN .
NEED TO TEST IF THIS IS STILL NEEDED WITH THE CHANGES IN THE
diff --git a/pxl/pxtop.c b/pxl/pxtop.c
index ec0db1d33..a197cd154 100644
--- a/pxl/pxtop.c
+++ b/pxl/pxtop.c
@@ -325,10 +325,14 @@ pxl_impl_set_device(
stage = Ssetdevice;
if ((code = gs_setdevice_no_erase(pxli->pgs, device)) < 0) /* can't erase yet */
goto pisdEnd;
+
/* Initialize device ICC profile */
+ code = gsicc_sync_iccdir(device, pxli->pgs);
+ if (code < 0)
+ goto pisdEnd;
code = gsicc_init_device_profile_struct(device, NULL, 0);
if (code < 0)
- return code;
+ goto pisdEnd;
/* Init XL graphics */
stage = Sinitg;
if ((code = px_initgraphics(pxli->pxs)) < 0)