From fc2f216537216654521b86dc26be4ce88837b8e0 Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Thu, 27 Apr 2023 17:53:44 +0100 Subject: 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. --- base/gdevp14.c | 1 + 1 file changed, 1 insertion(+) 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); } } -- cgit v1.2.1