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: |
general | Assignee: |
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.
|
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.
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.