From c061e26da545e5310d96f926fcc38711d08134d7 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Thu, 21 Aug 2014 17:46:36 -0400 Subject: [PATCH] wayland: Record the offset position This is needed for DND surfaces. We should probably test to see if it's used for cursor surfaces at all. --- src/wayland/meta-wayland-surface.c | 3 +++ src/wayland/meta-wayland-surface.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c index 0eb01d2f8..217bad8fa 100644 --- a/src/wayland/meta-wayland-surface.c +++ b/src/wayland/meta-wayland-surface.c @@ -429,6 +429,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. */