[cairo] cairo_win32_surface_create api change
Owen Taylor
otaylor at redhat.com
Thu Dec 8 07:32:05 PST 2005
On Wed, 2005-12-07 at 22:03 -0800, Keith Packard wrote:
> > I spent some time tracking down the problem with trap-clip.c on win32,
> > and it wasn't really related to the win32 code at all.
> >
> > Note that _cairo_surface_get_extents() is possibly dependent
> > on the clip ... this has always been the case and was intended to be
> > the case, though it isn't entirely clear from the function docs.
> >
> > All the code calling _cairo_surface_get_extents() expects this, but the
> > problem is that the call in _cairo_clip_intersect_mask() is calling
> > _cairo_surface_get_extents() on a surface *where the clip isn't
> > up-to-date*.
>
> So _cairo_surface_get_extents should update the clip before computing
> the extents, right? Not setting the clip lazily will cause serious
> troubles for some backends iirc.
But _cairo_surface_get_extents() doesn't have the clip information,
does it ...
In _cairo_clip_intersect_mask() we could call:
status = _cairo_surface_set_clip (target, &clip);
But we can't do that if we just have 'target'
Owen
More information about the cairo
mailing list