compositor: free regions in wlsc_output_repaint()

Some of the local pixman region objects were not being properly
destroyed before returning from the function. Destroy them, fixes
some Valgrind errors.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
dev
Pekka Paalanen 13 years ago
parent 3c64723c9f
commit cc9102edc5
  1. 5
      compositor/compositor.c

@ -765,7 +765,7 @@ wlsc_output_repaint(struct wlsc_output *output)
pixman_region32_init(&new_damage);
pixman_region32_init(&opaque);
wl_list_for_each(es, &ec->surface_list, link) {
pixman_region32_subtract(&es->damage, &es->damage, &opaque);
pixman_region32_union(&new_damage, &new_damage, &es->damage);
@ -805,11 +805,14 @@ wlsc_output_repaint(struct wlsc_output *output)
wlsc_surface_draw(es, output, &repaint);
pixman_region32_subtract(&es->damage,
&es->damage, &output->region);
pixman_region32_fini(&repaint);
}
}
if (ec->fade.spring.current > 0.001)
fade_output(output, ec->fade.spring.current, &total_damage);
pixman_region32_fini(&total_damage);
}
struct wlsc_frame_callback {

Loading…
Cancel
Save