b***@ghostscript.com
2011-05-03 20:05:08 UTC
http://bugs.ghostscript.com/show_bug.cgi?id=692182
Summary: xps -> pdfwrite SEGVs with softmasked pattern
Product: GhostXPS
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P4
Component: General
AssignedTo: ***@artifex.com
ReportedBy: ***@artifex.com
QAContact: gs-***@ghostscript.com
Estimated Hours: 0.0
Created an attachment (id=7485)
--> (http://bugs.ghostscript.com/attachment.cgi?id=7485)
fts_30.xps
On the clist_patt_trans branch, I get a SEGV when attempting to do:
xps\debugobj\gxps -o out.pdf -sDEVICE=pdfwrite -r72 -dNOPAUSE -dBATCH
fts_30.xps
It looks like pdev->prev_soft_mask_dict is NULL. This in turn seems to happen
because we run through pdf_exit_substream which pops back up to the previous
'NULL' value.
Given that we set prev_soft_mask_dict to NULL when it's finished with, it seems
reasonable that we should never replace a non-NULL one. If I nobble
pdf_exit_substream to only replace pdev->prev_soft_mask_dict if it's non NULL,
this gets further, but then runs into problems with pdev->subtream_Resources
being NULL.
It seems that we aren't getting the expected nice nesting of:
pdf_enter_substream
pdf_begin_transparency_mask
pdf_make_soft_mask_dict
pdf_end_transparency_mask
pdf_exit_substream
Possibly this change in behaviour is to do with the new clist pattern code used
for patterns with transparency in clist_patt_trans, but I can't see the clist
being used. I will retest on the trunk in a moment.
Summary: xps -> pdfwrite SEGVs with softmasked pattern
Product: GhostXPS
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P4
Component: General
AssignedTo: ***@artifex.com
ReportedBy: ***@artifex.com
QAContact: gs-***@ghostscript.com
Estimated Hours: 0.0
Created an attachment (id=7485)
--> (http://bugs.ghostscript.com/attachment.cgi?id=7485)
fts_30.xps
On the clist_patt_trans branch, I get a SEGV when attempting to do:
xps\debugobj\gxps -o out.pdf -sDEVICE=pdfwrite -r72 -dNOPAUSE -dBATCH
fts_30.xps
It looks like pdev->prev_soft_mask_dict is NULL. This in turn seems to happen
because we run through pdf_exit_substream which pops back up to the previous
'NULL' value.
Given that we set prev_soft_mask_dict to NULL when it's finished with, it seems
reasonable that we should never replace a non-NULL one. If I nobble
pdf_exit_substream to only replace pdev->prev_soft_mask_dict if it's non NULL,
this gets further, but then runs into problems with pdev->subtream_Resources
being NULL.
It seems that we aren't getting the expected nice nesting of:
pdf_enter_substream
pdf_begin_transparency_mask
pdf_make_soft_mask_dict
pdf_end_transparency_mask
pdf_exit_substream
Possibly this change in behaviour is to do with the new clist pattern code used
for patterns with transparency in clist_patt_trans, but I can't see the clist
being used. I will retest on the trunk in a moment.
--
Configure bugmail: http://bugs.ghostscript.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Configure bugmail: http://bugs.ghostscript.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.