diff options
-rw-r--r-- | base/gdevprn.c | 13 | ||||
-rw-r--r-- | base/gxclrast.c | 2 | ||||
-rw-r--r-- | base/gxclthrd.c | 4 | ||||
-rw-r--r-- | base/gximage3.c | 6 |
4 files changed, 16 insertions, 9 deletions
diff --git a/base/gdevprn.c b/base/gdevprn.c index a78a28cbf..296e97340 100644 --- a/base/gdevprn.c +++ b/base/gdevprn.c @@ -1194,11 +1194,18 @@ gx_render_plane_init(gx_render_plane_t *render_plane, const gx_device *dev, int num_planes = dev->color_info.num_components; int plane_depth = dev->color_info.depth / num_planes; - if (index < 0 || index >= num_planes) + if (index < -1 || index >= num_planes) return_error(gs_error_rangecheck); render_plane->index = index; - render_plane->depth = plane_depth; - render_plane->shift = plane_depth * (num_planes - 1 - index); + if (index == -1) { + /* No plane, chunky results required. */ + render_plane->depth = dev->color_info.depth; + render_plane->shift = 0; + } else { + /* A single plane */ + render_plane->depth = plane_depth; + render_plane->shift = plane_depth * (num_planes - 1 - index); + } return 0; } diff --git a/base/gxclrast.c b/base/gxclrast.c index 382af62da..4fa3d79d1 100644 --- a/base/gxclrast.c +++ b/base/gxclrast.c @@ -1495,7 +1495,7 @@ ibegin: if_debug0m('L', mem, "\n"); if (code < 0) goto top_up_failed; } - cmd_getw(planes[plane].raster, cbp) ; + cmd_getw(planes[plane].raster, cbp); if ((raster1 = planes[plane].raster) != 0) cmd_getw(data_x, cbp); } else { diff --git a/base/gxclthrd.c b/base/gxclthrd.c index a5835cc10..6af40a7f1 100644 --- a/base/gxclthrd.c +++ b/base/gxclthrd.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Artifex Software, Inc. +/* Copyright (C) 2001-2022 Artifex Software, Inc. All Rights Reserved. This software is provided AS-IS with no warranty, either express or @@ -995,7 +995,7 @@ clist_process_page(gx_device *dev, gx_process_page_options_t *options) return code; } - render_plane.index = -1; + gx_render_plane_init(&render_plane, dev, -1); for (y = 0; y < dev->height; y += lines_rasterized) { line_count = band_height; diff --git a/base/gximage3.c b/base/gximage3.c index 8e39d7b1a..6d4e4e1dd 100644 --- a/base/gximage3.c +++ b/base/gximage3.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2021 Artifex Software, Inc. +/* Copyright (C) 2001-2022 Artifex Software, Inc. All Rights Reserved. This software is provided AS-IS with no warranty, either express or @@ -146,8 +146,8 @@ make_mcde_default(gx_device *dev, const gs_gstate *pgs, return_error(gs_error_VMerror); bits.data = mdev->base; bits.raster = mdev->raster; - bits.size.x = mdev->width; - bits.size.y = mdev->height; + bits.size.x = bits.rep_width = mdev->width; + bits.size.y = bits.rep_height = mdev->height; bits.id = gx_no_bitmap_id; bits.num_planes = 1; code = gx_mask_clip_initialize(mcdev, &gs_mask_clip_device, |