diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c index 1dade0577..bb6251233 100644 --- a/src/wayland/meta-wayland-surface.c +++ b/src/wayland/meta-wayland-surface.c @@ -426,6 +426,9 @@ commit_pending_state (MetaWaylandSurface *surface, if (!cairo_region_is_empty (pending->damage)) surface_process_damage (surface, pending->damage); + surface->offset_x += pending->dx; + surface->offset_y += pending->dy; + if (pending->opaque_region) { pending->opaque_region = scale_region (pending->opaque_region, surface->scale); diff --git a/src/wayland/meta-wayland-surface.h b/src/wayland/meta-wayland-surface.h index 6a0c4ca05..30940a4ba 100644 --- a/src/wayland/meta-wayland-surface.h +++ b/src/wayland/meta-wayland-surface.h @@ -115,6 +115,8 @@ struct _MetaWaylandSurface GSList *pending_placement_ops; } sub; + int32_t offset_x, offset_y; + gboolean has_set_geometry; /* All the pending state that wl_surface.commit will apply. */