Commit 974791b4 authored by Heiko Lewin's avatar Heiko Lewin
Browse files

Merge branch 'fix-clear-nothing-to-do' into 'master'

Fix _cairo_surface_paint not setting is_clear

Closes #283

See merge request cairo/cairo!104
parents e4587514 a7c49ec8
Pipeline #256416 passed with stages
in 28 minutes and 16 seconds
......@@ -2174,6 +2174,7 @@ _cairo_surface_paint (cairo_surface_t *surface,
const cairo_clip_t *clip)
{
cairo_int_status_t status;
cairo_bool_t is_clear;
TRACE ((stderr, "%s\n", __FUNCTION__));
if (unlikely (surface->status))
......@@ -2196,8 +2197,9 @@ _cairo_surface_paint (cairo_surface_t *surface,
return status;
status = surface->backend->paint (surface, op, source, clip);
if (status != CAIRO_INT_STATUS_NOTHING_TO_DO) {
surface->is_clear = op == CAIRO_OPERATOR_CLEAR && clip == NULL;
is_clear = op == CAIRO_OPERATOR_CLEAR && clip == NULL;
if (status != CAIRO_INT_STATUS_NOTHING_TO_DO || is_clear) {
surface->is_clear = is_clear;
surface->serial++;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment