diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c index ce50da162..b8071067b 100644 --- a/src/compositor/meta-surface-actor-wayland.c +++ b/src/compositor/meta-surface-actor-wayland.c @@ -58,11 +58,6 @@ meta_surface_actor_wayland_process_damage (MetaSurfaceActor *actor, meta_surface_actor_update_area (actor, x, y, width, height); } -static void -meta_surface_actor_wayland_pre_paint (MetaSurfaceActor *actor) -{ -} - static gboolean meta_surface_actor_wayland_is_opaque (MetaSurfaceActor *actor) { @@ -113,7 +108,6 @@ meta_surface_actor_wayland_class_init (MetaSurfaceActorWaylandClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); surface_actor_class->process_damage = meta_surface_actor_wayland_process_damage; - surface_actor_class->pre_paint = meta_surface_actor_wayland_pre_paint; surface_actor_class->is_opaque = meta_surface_actor_wayland_is_opaque; object_class->dispose = meta_surface_actor_wayland_dispose; diff --git a/src/compositor/meta-surface-actor-x11.c b/src/compositor/meta-surface-actor-x11.c index 3b1a250d9..d46e5ad49 100644 --- a/src/compositor/meta-surface-actor-x11.c +++ b/src/compositor/meta-surface-actor-x11.c @@ -220,10 +220,9 @@ meta_surface_actor_x11_process_damage (MetaSurfaceActor *actor, meta_surface_actor_update_area (actor, x, y, width, height); } -static void -meta_surface_actor_x11_pre_paint (MetaSurfaceActor *actor) +void +meta_surface_actor_x11_handle_updates (MetaSurfaceActorX11 *self) { - MetaSurfaceActorX11 *self = META_SURFACE_ACTOR_X11 (actor); MetaDisplay *display = self->display; Display *xdisplay = meta_x11_display_get_xdisplay (display->x11_display); @@ -332,7 +331,6 @@ meta_surface_actor_x11_class_init (MetaSurfaceActorX11Class *klass) object_class->dispose = meta_surface_actor_x11_dispose; surface_actor_class->process_damage = meta_surface_actor_x11_process_damage; - surface_actor_class->pre_paint = meta_surface_actor_x11_pre_paint; surface_actor_class->is_opaque = meta_surface_actor_x11_is_opaque; } diff --git a/src/compositor/meta-surface-actor-x11.h b/src/compositor/meta-surface-actor-x11.h index 9fd703bfe..0a8517236 100644 --- a/src/compositor/meta-surface-actor-x11.h +++ b/src/compositor/meta-surface-actor-x11.h @@ -55,6 +55,8 @@ gboolean meta_surface_actor_x11_is_unredirected (MetaSurfaceActorX11 *self); gboolean meta_surface_actor_x11_is_visible (MetaSurfaceActorX11 *self); +void meta_surface_actor_x11_handle_updates (MetaSurfaceActorX11 *self); + G_END_DECLS #endif /* __META_SURFACE_ACTOR_X11_H__ */ diff --git a/src/compositor/meta-surface-actor.c b/src/compositor/meta-surface-actor.c index 2f3934a40..884a7a2b3 100644 --- a/src/compositor/meta-surface-actor.c +++ b/src/compositor/meta-surface-actor.c @@ -555,12 +555,6 @@ meta_surface_actor_process_damage (MetaSurfaceActor *self, META_SURFACE_ACTOR_GET_CLASS (self)->process_damage (self, x, y, width, height); } -void -meta_surface_actor_pre_paint (MetaSurfaceActor *self) -{ - META_SURFACE_ACTOR_GET_CLASS (self)->pre_paint (self); -} - void meta_surface_actor_set_frozen (MetaSurfaceActor *self, gboolean frozen) diff --git a/src/compositor/meta-surface-actor.h b/src/compositor/meta-surface-actor.h index d8b7365b2..fb3764c0f 100644 --- a/src/compositor/meta-surface-actor.h +++ b/src/compositor/meta-surface-actor.h @@ -24,7 +24,6 @@ struct _MetaSurfaceActorClass void (* process_damage) (MetaSurfaceActor *actor, int x, int y, int width, int height); - void (* pre_paint) (MetaSurfaceActor *actor); gboolean (* is_opaque) (MetaSurfaceActor *actor); }; @@ -49,7 +48,7 @@ cairo_region_t * meta_surface_actor_get_opaque_region (MetaSurfaceActor *self); void meta_surface_actor_process_damage (MetaSurfaceActor *actor, int x, int y, int width, int height); -void meta_surface_actor_pre_paint (MetaSurfaceActor *actor); + gboolean meta_surface_actor_is_opaque (MetaSurfaceActor *actor); gboolean meta_surface_actor_is_frozen (MetaSurfaceActor *actor); diff --git a/src/compositor/meta-window-actor-x11.c b/src/compositor/meta-window-actor-x11.c index c8bc3784d..c3067be02 100644 --- a/src/compositor/meta-window-actor-x11.c +++ b/src/compositor/meta-window-actor-x11.c @@ -1209,7 +1209,12 @@ handle_updates (MetaWindowActorX11 *actor_x11) return; } - meta_surface_actor_pre_paint (surface); + if (META_IS_SURFACE_ACTOR_X11 (surface)) + { + MetaSurfaceActorX11 *surface_x11 = META_SURFACE_ACTOR_X11 (surface); + + meta_surface_actor_x11_handle_updates (surface_x11); + } if (!META_IS_SURFACE_ACTOR_X11 (surface) || !meta_surface_actor_x11_is_visible (META_SURFACE_ACTOR_X11 (surface)))