diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2023-04-03 18:27:39 +0100 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2023-04-04 00:39:10 +0100 |
commit | ad2b59ccd818b9c99db845a1add3c561b4ed9231 (patch) | |
tree | 0d956616dd8edb88de2da61a17e07adf09009f9b /base | |
parent | 11288082dd18be174901f98b98ff82f9df20dc4a (diff) | |
download | ghostpdl-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.c | 5 |
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 */ |