summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2023-04-27 17:53:44 +0100
committerRobin Watts <Robin.Watts@artifex.com>2023-04-27 17:53:44 +0100
commitfc2f216537216654521b86dc26be4ce88837b8e0 (patch)
treefdb2e565e7af84520a294588a9e3c4f7cd5e2889
parent02402b4f07b9889df87522bd0dac52c46dcde947 (diff)
downloadghostpdl-fc2f216537216654521b86dc26be4ce88837b8e0.tar.gz
Bug 706683: Fill+Stroke: Keep clist in sync with transparency changes.
Currently, it looks like we are hitting a problem with the fix for bug 703324. When that fix resets the fillstrokealpha value after the stroke it does so by fiddling directly in the pgs. In the clist writing case, this means that the pgs changes without the change being considered for putting into the reader. This can cause the reader and writer to get out of sync. The fix, implemented here, is to call gs_update_trans_marking_params to ensure that the change happens via the compositor mechanism first. This keeps reader and writer in sync.
-rw-r--r--base/gdevp14.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/base/gdevp14.c b/base/gdevp14.c
index edbee1ce7..afa303ad8 100644
--- a/base/gdevp14.c
+++ b/base/gdevp14.c
@@ -4468,6 +4468,7 @@ pdf14_fill_stroke_poststroke(gx_device* dev, gs_gstate* pgs, float fill_alpha, b
* We therefore need to make sure it is set according to the current fill state.
*/
(void)gs_setfillconstantalpha(pgs, fill_alpha);
+ gs_update_trans_marking_params(pgs);
pdf14_set_marking_params(dev, pgs);
}
}