Bug 104410

Summary: When a recording surface is used as source, a script surface writes the output device after all resources should have been freed.
Product: cairo Reporter: Antony Lee <anntzer.lee>
Component: generalAssignee: Chris Wilson <chris>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: minimal example reproducing the issue.

Description Antony Lee 2017-12-28 23:37:49 UTC
Created attachment 136439 [details]
minimal example reproducing the issue.

When a surface and the associated device are flush()ed and finish()ed, I believe that cairo should never write to the device anymore (the documentation contains sentences such as "This function finishes the surface and drops all references to external resources. For example, for the Xlib backend it means that cairo will no longer access the drawable, which can be freed." and "This function finishes the device and drops all references to external resources. All surfaces, fonts and other objects created for this device will be finished, too.").

However, when a recording surface is used as a source for a script surface, the device appears to be accessed after the resources have been released.  See attached source for reproducing example.
Comment 1 GitLab Migration User 2018-08-25 13:56:17 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/277.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.