mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-15 08:53:07 +09:00
Issue #3039 - Don't try to pass a dash array of > 16 elements to ExtCreatePen.
According to MSDN documentation, the count of the style array passed to ExtCreatePen is limited to 16. When we call ExtCreatePen with cStyle=17 or more, it simply returns an error and the cairo surface used for printing is getting into an error state, after which nothing further gets printed. Instead of erroring out, this code change returns an unsupported status so that cairo will provide fallback handling for it.
This commit is contained in:
parent
dda2b7972a
commit
3bb1c962eb
1 changed files with 3 additions and 0 deletions
|
|
@ -1265,6 +1265,9 @@ _cairo_win32_printing_surface_stroke (void *abstract_surface,
|
|||
}
|
||||
|
||||
if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) {
|
||||
/* Win32 does not support more than 16 elements in the dash array. */
|
||||
if (style->num_dashes > 16)
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
/* Win32 does not support a dash offset. */
|
||||
if (style->num_dashes > 0 && style->dash_offset != 0.0)
|
||||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue