summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--base/gdevprn.c13
-rw-r--r--base/gxclrast.c2
-rw-r--r--base/gxclthrd.c4
-rw-r--r--base/gximage3.c6
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,