summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-03-29 10:27:10 +0100
committerSam James <sam@gentoo.org>2022-04-17 12:53:05 +0100
commit085bde903b9e684c3c1160e4df912bea9a660997 (patch)
treec4f5e6e9f2422e869ca5bc0b944520d451001282 /devices/gdevdsp.c
parentImport Ghostscript 9.55 (diff)
downloadghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.tar.gz
ghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.tar.bz2
ghostscript-gpl-patches-085bde903b9e684c3c1160e4df912bea9a660997.zip
Import Ghostscript 9.56.0ghostscript-9.56
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'devices/gdevdsp.c')
-rw-r--r--devices/gdevdsp.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/devices/gdevdsp.c b/devices/gdevdsp.c
index d772ccfd..f757666a 100644
--- a/devices/gdevdsp.c
+++ b/devices/gdevdsp.c
@@ -372,7 +372,7 @@ display_output_page(gx_device * dev, int copies, int flush)
}
if (code >= 0)
- code = gx_finish_output_page(dev, copies, flush);
+ code = gx_finish_output_page((gx_device *)ddev, copies, flush);
return code;
}
@@ -1276,12 +1276,12 @@ display_separation_decode_color(gx_device * dev, gx_color_index color,
* Device proc for updating the equivalent CMYK color for spot colors.
*/
static int
-display_update_spot_equivalent_colors(gx_device * dev, const gs_gstate * pgs)
+display_update_spot_equivalent_colors(gx_device * dev, const gs_gstate * pgs, const gs_color_space *pcs)
{
gx_device_display * ddev = (gx_device_display *)dev;
if ((ddev->nFormat & DISPLAY_COLORS_MASK) == DISPLAY_COLORS_SEPARATION)
- update_spot_equivalent_cmyk_colors(dev, pgs,
+ update_spot_equivalent_cmyk_colors(dev, pgs, pcs,
&ddev->devn_params, &ddev->equiv_cmyk_colors);
return 0;
}
@@ -1810,6 +1810,10 @@ display_set_separations(gx_device_display *dev)
int sep_num;
int sep_name_size;
unsigned int c, m, y, k;
+ gx_device_display *head = dev;
+
+ while(head->parent)
+ head = (gx_device_display *)head->parent;
/* Map the separation numbers to component numbers */
memset(comp_map, 0, sizeof(comp_map));
@@ -1858,10 +1862,7 @@ display_set_separations(gx_device_display *dev)
* 65535 / frac_1;
}
}
- while(dev->parent)
- dev = (gx_device_display *)dev->parent;
-
- (*dev->callback->display_separation)(dev->pHandle, dev,
+ (*head->callback->display_separation)(dev->pHandle, head,
comp_num, name,
(unsigned short)c, (unsigned short)m,
(unsigned short)y, (unsigned short)k);