summaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2023-04-03 18:27:39 +0100
committerRobin Watts <Robin.Watts@artifex.com>2023-04-04 00:39:10 +0100
commitad2b59ccd818b9c99db845a1add3c561b4ed9231 (patch)
tree0d956616dd8edb88de2da61a17e07adf09009f9b /base
parent11288082dd18be174901f98b98ff82f9df20dc4a (diff)
downloadghostpdl-ad2b59ccd818b9c99db845a1add3c561b4ed9231.tar.gz
Bug 706532: Propagate "non_strict_bounds" to clipping devices.
If a device is marked as "non_strict_bounds" then any clipping device built upon it should also be.
Diffstat (limited to 'base')
-rw-r--r--base/gxclip.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/base/gxclip.c b/base/gxclip.c
index d29a8783e..a0c3e953c 100644
--- a/base/gxclip.c
+++ b/base/gxclip.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2021 Artifex Software, Inc.
+/* Copyright (C) 2001-2023 Artifex Software, Inc.
All Rights Reserved.
This software is provided AS-IS with no warranty, either express or
@@ -130,6 +130,7 @@ gx_make_clip_device_on_stack(gx_device_clip * dev, const gx_clip_path *pcpath, g
dev->log2_align_mod = target->log2_align_mod;
dev->is_planar = target->is_planar;
dev->graphics_type_tag = target->graphics_type_tag; /* initialize to same as target */
+ dev->non_strict_bounds = target->non_strict_bounds;
/* There is no finalization for device on stack so no rc increment */
(*dev_proc(dev, open_device)) ((gx_device *)dev);
}
@@ -174,6 +175,7 @@ gx_make_clip_device_on_stack_if_needed(gx_device_clip * dev, const gx_clip_path
dev->log2_align_mod = target->log2_align_mod;
dev->is_planar = target->is_planar;
dev->graphics_type_tag = target->graphics_type_tag; /* initialize to same as target */
+ dev->non_strict_bounds = target->non_strict_bounds;
/* There is no finalization for device on stack so no rc increment */
(*dev_proc(dev, open_device)) ((gx_device *)dev);
return (gx_device *)dev;
@@ -196,6 +198,7 @@ gx_make_clip_device_in_heap(gx_device_clip *dev,
dev->pad = target->pad;
dev->log2_align_mod = target->log2_align_mod;
dev->is_planar = target->is_planar;
+ dev->non_strict_bounds = target->non_strict_bounds;
gx_device_set_target((gx_device_forward *)dev, target);
gx_device_retain((gx_device *)dev, true); /* will free explicitly */
/* Can never fail */