compositor: Use pixman_region32_intersect_rect() instead of temp region
We avoid reusing 'opaque' and don't leak the region.
This commit is contained in:
+4
-5
@@ -1262,13 +1262,12 @@ surface_commit(struct wl_client *client, struct wl_resource *resource)
|
|||||||
surface->pending.sy = 0;
|
surface->pending.sy = 0;
|
||||||
|
|
||||||
/* wl_surface.damage */
|
/* wl_surface.damage */
|
||||||
pixman_region32_init_rect(&opaque, 0, 0,
|
|
||||||
surface->geometry.width,
|
|
||||||
surface->geometry.height);
|
|
||||||
pixman_region32_union(&surface->damage, &surface->damage,
|
pixman_region32_union(&surface->damage, &surface->damage,
|
||||||
&surface->pending.damage);
|
&surface->pending.damage);
|
||||||
pixman_region32_intersect(&surface->damage, &surface->damage,
|
pixman_region32_intersect_rect(&surface->damage, &surface->damage,
|
||||||
&opaque);
|
0, 0,
|
||||||
|
surface->geometry.width,
|
||||||
|
surface->geometry.height);
|
||||||
empty_region(&surface->pending.damage);
|
empty_region(&surface->pending.damage);
|
||||||
|
|
||||||
/* wl_surface.set_opaque_region */
|
/* wl_surface.set_opaque_region */
|
||||||
|
|||||||
Reference in New Issue
Block a user