mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-06 03:28:09 +02:00
[test-meta] Use real meta-surface snapshot.
The meta-surface workaround an old bug, which is no longer present in the tree and open-coded the surface snapshot. However, the workaround itself was buggy (not respecting the surface content). The lesson to take away from this is not to add workarounds in test code for bugs in the library!
This commit is contained in:
parent
03c37f56b2
commit
5e54084126
1 changed files with 0 additions and 35 deletions
|
|
@ -307,43 +307,8 @@ static cairo_surface_t *
|
|||
_test_meta_surface_snapshot (void *abstract_other)
|
||||
{
|
||||
test_meta_surface_t *other = abstract_other;
|
||||
cairo_status_t status;
|
||||
|
||||
/* XXX: Just making a snapshot of other->meta is what we really
|
||||
* want. But this currently triggers a bug somewhere (the "mask"
|
||||
* test from the test suite segfaults).
|
||||
*
|
||||
* For now, we'll create a new image surface and replay onto
|
||||
* that. It would be tempting to replay into other->image and then
|
||||
* return a snapshot of that, but that will cause the self-copy
|
||||
* test to fail, (since our replay will be affected by a clip that
|
||||
* should not have any effect on the use of the resulting snapshot
|
||||
* as a source).
|
||||
*/
|
||||
|
||||
#if 0
|
||||
return _cairo_surface_snapshot (other->meta);
|
||||
#else
|
||||
cairo_rectangle_int_t extents;
|
||||
cairo_surface_t *surface;
|
||||
|
||||
status = _cairo_surface_get_extents (other->image, &extents);
|
||||
if (status)
|
||||
return _cairo_surface_create_in_error (status);
|
||||
|
||||
surface = cairo_surface_create_similar (other->image,
|
||||
CAIRO_CONTENT_COLOR_ALPHA,
|
||||
extents.width,
|
||||
extents.height);
|
||||
|
||||
status = _cairo_meta_surface_replay (other->meta, surface);
|
||||
if (status) {
|
||||
cairo_surface_destroy (surface);
|
||||
surface = _cairo_surface_create_in_error (status);
|
||||
}
|
||||
|
||||
return surface;
|
||||
#endif
|
||||
}
|
||||
|
||||
static const cairo_surface_backend_t test_meta_surface_backend = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue