mirror of
https://github.com/brl/mutter.git
synced 2025-07-05 02:21:14 +00:00
wayland: Avoid actor updates non actor_surface role wl_surface.commit
We used to maintain an actor for cursors, even though we would possibly use hw overlays or even some other overlay actor for those. This happens no more, so check whether we are dealing with an actor-backed surface role before fiddling with it.
This commit is contained in:
@ -641,7 +641,7 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (switched_buffer)
|
if (switched_buffer && meta_wayland_surface_get_actor (surface))
|
||||||
{
|
{
|
||||||
MetaShapedTexture *stex;
|
MetaShapedTexture *stex;
|
||||||
CoglTexture *texture;
|
CoglTexture *texture;
|
||||||
@ -672,8 +672,9 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
|
|||||||
if (pending->scale > 0)
|
if (pending->scale > 0)
|
||||||
surface->scale = pending->scale;
|
surface->scale = pending->scale;
|
||||||
|
|
||||||
if (!cairo_region_is_empty (pending->surface_damage) ||
|
if (meta_wayland_surface_get_actor (surface) &&
|
||||||
!cairo_region_is_empty (pending->buffer_damage))
|
(!cairo_region_is_empty (pending->surface_damage) ||
|
||||||
|
!cairo_region_is_empty (pending->buffer_damage)))
|
||||||
surface_process_damage (surface,
|
surface_process_damage (surface,
|
||||||
pending->surface_damage,
|
pending->surface_damage,
|
||||||
pending->buffer_damage);
|
pending->buffer_damage);
|
||||||
|
Reference in New Issue
Block a user