This field is always zero (a rudimentary code in gstrans.c is disabled by PUSH_TS). The real transparency stack is maintained by the pdf14* devices. What we really need in the imager state is an ID for opacity and alpha masks. If by some reason a transparency stack to be maintained by the graphics library, it should appear in gs_state rather than in gs_imager_state, and its elements must be properly reference-counted. However I don't think that it would be really useful due to problems with a possible execution of the operator 'gstate' in the global allocation mode. For now I suggest to remove that rudimentary code because it looks as a dead branch and unreasonably complicates things.
Raph, please assign this bug to me if you have no objection.
More two pointers appear always zero : gs_imager_state::opacity.mask gs_imager_state::shape.mask
It would be good to remove this stuff. It will involve removing a device procedure (discard transparency layer) so a bit of care needs to be taken.
Fixed with http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=0025b68a2df2f7c68cdcf4ebe0b3b9901c6a3698