diff options
Diffstat (limited to 'src/wayland/meta-wayland-actor-surface.c')
-rw-r--r-- | src/wayland/meta-wayland-actor-surface.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/wayland/meta-wayland-actor-surface.c b/src/wayland/meta-wayland-actor-surface.c index 2471de0a9..1b7b74953 100644 --- a/src/wayland/meta-wayland-actor-surface.c +++ b/src/wayland/meta-wayland-actor-surface.c @@ -253,10 +253,20 @@ meta_wayland_actor_surface_commit (MetaWaylandSurfaceRole *surface_role, { MetaWaylandActorSurface *actor_surface = META_WAYLAND_ACTOR_SURFACE (surface_role); + MetaWaylandActorSurfacePrivate *priv = + meta_wayland_actor_surface_get_instance_private (actor_surface); MetaWaylandSurface *surface = meta_wayland_surface_role_get_surface (surface_role); MetaWaylandSurface *toplevel_surface; + if (!priv->actor) + return; + + if (!wl_list_empty (&pending->frame_callback_list) && + cairo_region_is_empty (pending->surface_damage) && + cairo_region_is_empty (pending->buffer_damage)) + clutter_actor_queue_redraw (CLUTTER_ACTOR (priv->actor)); + meta_wayland_actor_surface_queue_frame_callbacks (actor_surface, pending); toplevel_surface = meta_wayland_surface_get_toplevel (surface); |