wayland/surface: Rename MetaWaylandPendingState to MetaWaylandSurfaceState

The name didn't communicate it was about surface state, and it somewhat
confusingly had the name "pending" in it, which could be confused with
the fact that while it's used to collect pending state, it's also used
to cache previously committed pending state.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/907
This commit is contained in:
Jonas Ådahl 2019-03-13 13:27:25 +01:00
parent d60d671fec
commit bbec8abb68
13 changed files with 137 additions and 139 deletions

View File

@ -109,7 +109,7 @@ meta_wayland_actor_surface_assigned (MetaWaylandSurfaceRole *surface_role)
void void
meta_wayland_actor_surface_queue_frame_callbacks (MetaWaylandActorSurface *actor_surface, meta_wayland_actor_surface_queue_frame_callbacks (MetaWaylandActorSurface *actor_surface,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandActorSurfacePrivate *priv = MetaWaylandActorSurfacePrivate *priv =
meta_wayland_actor_surface_get_instance_private (actor_surface); meta_wayland_actor_surface_get_instance_private (actor_surface);
@ -240,7 +240,7 @@ meta_wayland_actor_surface_sync_actor_state (MetaWaylandActorSurface *actor_surf
static void static void
meta_wayland_actor_surface_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_actor_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandActorSurface *actor_surface = MetaWaylandActorSurface *actor_surface =
META_WAYLAND_ACTOR_SURFACE (surface_role); META_WAYLAND_ACTOR_SURFACE (surface_role);

View File

@ -43,6 +43,6 @@ MetaSurfaceActor * meta_wayland_actor_surface_get_actor (MetaWaylandActorSurface
void meta_wayland_actor_surface_reset_actor (MetaWaylandActorSurface *actor_surface); void meta_wayland_actor_surface_reset_actor (MetaWaylandActorSurface *actor_surface);
void meta_wayland_actor_surface_queue_frame_callbacks (MetaWaylandActorSurface *actor_surface, void meta_wayland_actor_surface_queue_frame_callbacks (MetaWaylandActorSurface *actor_surface,
MetaWaylandPendingState *pending); MetaWaylandSurfaceState *pending);
#endif /* META_WAYLAND_ACTOR_SURFACE_H */ #endif /* META_WAYLAND_ACTOR_SURFACE_H */

View File

@ -130,7 +130,7 @@ meta_wayland_cursor_surface_assigned (MetaWaylandSurfaceRole *surface_role)
static void static void
meta_wayland_cursor_surface_pre_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_cursor_surface_pre_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandCursorSurface *cursor_surface = MetaWaylandCursorSurface *cursor_surface =
META_WAYLAND_CURSOR_SURFACE (surface_role); META_WAYLAND_CURSOR_SURFACE (surface_role);
@ -148,7 +148,7 @@ meta_wayland_cursor_surface_pre_commit (MetaWaylandSurfaceRole *surface_role,
static void static void
meta_wayland_cursor_surface_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_cursor_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandCursorSurface *cursor_surface = MetaWaylandCursorSurface *cursor_surface =
META_WAYLAND_CURSOR_SURFACE (surface_role); META_WAYLAND_CURSOR_SURFACE (surface_role);

View File

@ -47,7 +47,7 @@ dnd_surface_assigned (MetaWaylandSurfaceRole *surface_role)
static void static void
dnd_surface_commit (MetaWaylandSurfaceRole *surface_role, dnd_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandSurface *surface = MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role); meta_wayland_surface_role_get_surface (surface_role);

View File

@ -340,7 +340,7 @@ zxdg_toplevel_v6_set_max_size (struct wl_client *client,
int32_t height) int32_t height)
{ {
MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource); MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource);
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
MetaWindow *window; MetaWindow *window;
window = surface->window; window = surface->window;
@ -369,7 +369,7 @@ zxdg_toplevel_v6_set_min_size (struct wl_client *client,
int32_t height) int32_t height)
{ {
MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource); MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource);
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
MetaWindow *window; MetaWindow *window;
window = surface->window; window = surface->window;
@ -623,7 +623,7 @@ meta_wayland_zxdg_toplevel_v6_send_configure (MetaWaylandZxdgToplevelV6 *xdg_top
static gboolean static gboolean
is_new_size_hints_valid (MetaWindow *window, is_new_size_hints_valid (MetaWindow *window,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
int new_min_width, new_min_height; int new_min_width, new_min_height;
int new_max_width, new_max_height; int new_max_width, new_max_height;
@ -654,7 +654,7 @@ is_new_size_hints_valid (MetaWindow *window,
static void static void
meta_wayland_zxdg_toplevel_v6_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_zxdg_toplevel_v6_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandZxdgToplevelV6 *xdg_toplevel = MetaWaylandZxdgToplevelV6 *xdg_toplevel =
META_WAYLAND_ZXDG_TOPLEVEL_V6 (surface_role); META_WAYLAND_ZXDG_TOPLEVEL_V6 (surface_role);
@ -971,7 +971,7 @@ finish_popup_setup (MetaWaylandZxdgPopupV6 *xdg_popup)
static void static void
meta_wayland_zxdg_popup_v6_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_zxdg_popup_v6_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandZxdgPopupV6 *xdg_popup = META_WAYLAND_ZXDG_POPUP_V6 (surface_role); MetaWaylandZxdgPopupV6 *xdg_popup = META_WAYLAND_ZXDG_POPUP_V6 (surface_role);
MetaWaylandZxdgSurfaceV6 *xdg_surface = MetaWaylandZxdgSurfaceV6 *xdg_surface =
@ -1292,7 +1292,7 @@ zxdg_surface_v6_set_window_geometry (struct wl_client *client,
int32_t height) int32_t height)
{ {
MetaWaylandSurface *surface = surface_from_xdg_surface_resource (resource); MetaWaylandSurface *surface = surface_from_xdg_surface_resource (resource);
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
pending = meta_wayland_surface_get_pending_state (surface); pending = meta_wayland_surface_get_pending_state (surface);
pending->has_new_geometry = TRUE; pending->has_new_geometry = TRUE;
@ -1337,7 +1337,7 @@ meta_wayland_zxdg_surface_v6_finalize (GObject *object)
static void static void
meta_wayland_zxdg_surface_v6_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_zxdg_surface_v6_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandZxdgSurfaceV6 *xdg_surface = MetaWaylandZxdgSurfaceV6 *xdg_surface =
META_WAYLAND_ZXDG_SURFACE_V6 (surface_role); META_WAYLAND_ZXDG_SURFACE_V6 (surface_role);

View File

@ -661,7 +661,7 @@ pending_constraint_state_free (MetaWaylandPendingConstraintState *constraint_pen
} }
static MetaWaylandPendingConstraintStateContainer * static MetaWaylandPendingConstraintStateContainer *
get_pending_constraint_state_container (MetaWaylandPendingState *pending) get_pending_constraint_state_container (MetaWaylandSurfaceState *pending)
{ {
return g_object_get_qdata (G_OBJECT (pending), return g_object_get_qdata (G_OBJECT (pending),
quark_pending_constraint_state); quark_pending_constraint_state);
@ -670,7 +670,7 @@ get_pending_constraint_state_container (MetaWaylandPendingState *pending)
static MetaWaylandPendingConstraintState * static MetaWaylandPendingConstraintState *
get_pending_constraint_state (MetaWaylandPointerConstraint *constraint) get_pending_constraint_state (MetaWaylandPointerConstraint *constraint)
{ {
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
MetaWaylandPendingConstraintStateContainer *container; MetaWaylandPendingConstraintStateContainer *container;
GList *l; GList *l;
@ -696,7 +696,7 @@ pending_constraint_state_container_free (MetaWaylandPendingConstraintStateContai
} }
static MetaWaylandPendingConstraintStateContainer * static MetaWaylandPendingConstraintStateContainer *
ensure_pending_constraint_state_container (MetaWaylandPendingState *pending) ensure_pending_constraint_state_container (MetaWaylandSurfaceState *pending)
{ {
MetaWaylandPendingConstraintStateContainer *container; MetaWaylandPendingConstraintStateContainer *container;
@ -716,7 +716,7 @@ ensure_pending_constraint_state_container (MetaWaylandPendingState *pending)
static void static void
remove_pending_constraint_state (MetaWaylandPointerConstraint *constraint, remove_pending_constraint_state (MetaWaylandPointerConstraint *constraint,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandPendingConstraintStateContainer *container; MetaWaylandPendingConstraintStateContainer *container;
GList *l; GList *l;
@ -736,7 +736,7 @@ remove_pending_constraint_state (MetaWaylandPointerConstraint *constraint,
} }
static void static void
pending_constraint_state_applied (MetaWaylandPendingState *pending, pending_constraint_state_applied (MetaWaylandSurfaceState *pending,
MetaWaylandPendingConstraintState *constraint_pending) MetaWaylandPendingConstraintState *constraint_pending)
{ {
MetaWaylandPointerConstraint *constraint = constraint_pending->constraint; MetaWaylandPointerConstraint *constraint = constraint_pending->constraint;
@ -766,7 +766,7 @@ pending_constraint_state_applied (MetaWaylandPendingState *pending,
static MetaWaylandPendingConstraintState * static MetaWaylandPendingConstraintState *
ensure_pending_constraint_state (MetaWaylandPointerConstraint *constraint) ensure_pending_constraint_state (MetaWaylandPointerConstraint *constraint)
{ {
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
MetaWaylandPendingConstraintStateContainer *container; MetaWaylandPendingConstraintStateContainer *container;
MetaWaylandPendingConstraintState *constraint_pending; MetaWaylandPendingConstraintState *constraint_pending;

View File

@ -149,7 +149,7 @@ meta_wayland_shell_surface_managed (MetaWaylandShellSurface *shell_surface,
static void static void
meta_wayland_shell_surface_surface_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_shell_surface_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandActorSurface *actor_surface = MetaWaylandActorSurface *actor_surface =
META_WAYLAND_ACTOR_SURFACE (surface_role); META_WAYLAND_ACTOR_SURFACE (surface_role);

View File

@ -189,7 +189,7 @@ meta_wayland_subsurface_parent_state_applied (MetaWaylandSubsurface *subsurface)
} }
if (is_surface_effectively_synchronized (surface)) if (is_surface_effectively_synchronized (surface))
meta_wayland_surface_apply_pending_state (surface, surface->sub.pending); meta_wayland_surface_apply_state (surface, surface->sub.pending);
meta_wayland_actor_surface_sync_actor_state (actor_surface); meta_wayland_actor_surface_sync_actor_state (actor_surface);
} }
@ -485,7 +485,7 @@ wl_subsurface_set_desync (struct wl_client *client,
if (was_effectively_synchronized && if (was_effectively_synchronized &&
!is_surface_effectively_synchronized (surface)) !is_surface_effectively_synchronized (surface))
meta_wayland_surface_apply_pending_state (surface, surface->sub.pending); meta_wayland_surface_apply_state (surface, surface->sub.pending);
} }
static const struct wl_subsurface_interface meta_wayland_wl_subsurface_interface = { static const struct wl_subsurface_interface meta_wayland_wl_subsurface_interface = {
@ -561,7 +561,7 @@ wl_subcompositor_get_subsurface (struct wl_client *client,
surface, surface,
wl_subsurface_destructor); wl_subsurface_destructor);
surface->sub.pending = g_object_new (META_TYPE_WAYLAND_PENDING_STATE, NULL); surface->sub.pending = g_object_new (META_TYPE_WAYLAND_SURFACE_STATE, NULL);
surface->sub.synchronous = TRUE; surface->sub.synchronous = TRUE;
surface->sub.parent = parent; surface->sub.parent = parent;
surface->sub.parent_destroy_listener.notify = surface->sub.parent_destroy_listener.notify =

View File

@ -59,9 +59,9 @@
enum enum
{ {
PENDING_STATE_SIGNAL_APPLIED, SURFACE_STATE_SIGNAL_APPLIED,
PENDING_STATE_SIGNAL_LAST_SIGNAL SURFACE_STATE_SIGNAL_N_SIGNALS
}; };
enum enum
@ -71,7 +71,7 @@ enum
SURFACE_ROLE_PROP_SURFACE, SURFACE_ROLE_PROP_SURFACE,
}; };
static guint pending_state_signals[PENDING_STATE_SIGNAL_LAST_SIGNAL]; static guint surface_state_signals[SURFACE_STATE_SIGNAL_N_SIGNALS];
typedef struct _MetaWaylandSurfaceRolePrivate typedef struct _MetaWaylandSurfaceRolePrivate
{ {
@ -84,9 +84,9 @@ G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (MetaWaylandSurfaceRole,
meta_wayland_surface_role, meta_wayland_surface_role,
G_TYPE_OBJECT) G_TYPE_OBJECT)
G_DEFINE_TYPE (MetaWaylandPendingState, G_DEFINE_TYPE (MetaWaylandSurfaceState,
meta_wayland_pending_state, meta_wayland_surface_state,
G_TYPE_OBJECT); G_TYPE_OBJECT)
enum enum
{ {
@ -107,11 +107,11 @@ meta_wayland_surface_role_assigned (MetaWaylandSurfaceRole *surface_role);
static void static void
meta_wayland_surface_role_pre_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_surface_role_pre_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending); MetaWaylandSurfaceState *pending);
static void static void
meta_wayland_surface_role_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending); MetaWaylandSurfaceState *pending);
static gboolean static gboolean
meta_wayland_surface_role_is_on_logical_monitor (MetaWaylandSurfaceRole *surface_role, meta_wayland_surface_role_is_on_logical_monitor (MetaWaylandSurfaceRole *surface_role,
@ -361,7 +361,7 @@ surface_process_damage (MetaWaylandSurface *surface,
void void
meta_wayland_surface_queue_pending_state_frame_callbacks (MetaWaylandSurface *surface, meta_wayland_surface_queue_pending_state_frame_callbacks (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
wl_list_insert_list (&surface->compositor->frame_callbacks, wl_list_insert_list (&surface->compositor->frame_callbacks,
&pending->frame_callback_list); &pending->frame_callback_list);
@ -400,14 +400,14 @@ meta_wayland_surface_unref_buffer_use_count (MetaWaylandSurface *surface)
static void static void
pending_buffer_resource_destroyed (MetaWaylandBuffer *buffer, pending_buffer_resource_destroyed (MetaWaylandBuffer *buffer,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
g_clear_signal_handler (&pending->buffer_destroy_handler_id, buffer); g_clear_signal_handler (&pending->buffer_destroy_handler_id, buffer);
pending->buffer = NULL; pending->buffer = NULL;
} }
static void static void
pending_state_init (MetaWaylandPendingState *state) meta_wayland_surface_state_set_default (MetaWaylandSurfaceState *state)
{ {
state->newly_attached = FALSE; state->newly_attached = FALSE;
state->buffer = NULL; state->buffer = NULL;
@ -435,7 +435,7 @@ pending_state_init (MetaWaylandPendingState *state)
} }
static void static void
pending_state_destroy (MetaWaylandPendingState *state) meta_wayland_surface_state_clear (MetaWaylandSurfaceState *state)
{ {
MetaWaylandFrameCallback *cb, *next; MetaWaylandFrameCallback *cb, *next;
@ -452,15 +452,15 @@ pending_state_destroy (MetaWaylandPendingState *state)
} }
static void static void
pending_state_reset (MetaWaylandPendingState *state) meta_wayland_surface_state_reset (MetaWaylandSurfaceState *state)
{ {
pending_state_destroy (state); meta_wayland_surface_state_clear (state);
pending_state_init (state); meta_wayland_surface_state_set_default (state);
} }
static void static void
merge_pending_state (MetaWaylandPendingState *from, meta_wayland_surface_state_merge_into (MetaWaylandSurfaceState *from,
MetaWaylandPendingState *to) MetaWaylandSurfaceState *to)
{ {
if (from->newly_attached) if (from->newly_attached)
{ {
@ -558,33 +558,33 @@ merge_pending_state (MetaWaylandPendingState *from,
to); to);
} }
pending_state_init (from); meta_wayland_surface_state_set_default (from);
} }
static void static void
meta_wayland_pending_state_finalize (GObject *object) meta_wayland_surface_state_finalize (GObject *object)
{ {
MetaWaylandPendingState *state = META_WAYLAND_PENDING_STATE (object); MetaWaylandSurfaceState *state = META_WAYLAND_SURFACE_STATE (object);
pending_state_destroy (state); meta_wayland_surface_state_clear (state);
G_OBJECT_CLASS (meta_wayland_pending_state_parent_class)->finalize (object); G_OBJECT_CLASS (meta_wayland_surface_state_parent_class)->finalize (object);
} }
static void static void
meta_wayland_pending_state_init (MetaWaylandPendingState *state) meta_wayland_surface_state_init (MetaWaylandSurfaceState *state)
{ {
pending_state_init (state); meta_wayland_surface_state_set_default (state);
} }
static void static void
meta_wayland_pending_state_class_init (MetaWaylandPendingStateClass *klass) meta_wayland_surface_state_class_init (MetaWaylandSurfaceStateClass *klass)
{ {
GObjectClass *object_class = G_OBJECT_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = meta_wayland_pending_state_finalize; object_class->finalize = meta_wayland_surface_state_finalize;
pending_state_signals[PENDING_STATE_SIGNAL_APPLIED] = surface_state_signals[SURFACE_STATE_SIGNAL_APPLIED] =
g_signal_new ("applied", g_signal_new ("applied",
G_TYPE_FROM_CLASS (object_class), G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST, G_SIGNAL_RUN_LAST,
@ -609,7 +609,7 @@ parent_surface_state_applied (GNode *subsurface_node,
void void
meta_wayland_surface_cache_pending_frame_callbacks (MetaWaylandSurface *surface, meta_wayland_surface_cache_pending_frame_callbacks (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
wl_list_insert_list (&surface->pending_frame_callback_list, wl_list_insert_list (&surface->pending_frame_callback_list,
&pending->frame_callback_list); &pending->frame_callback_list);
@ -617,8 +617,8 @@ meta_wayland_surface_cache_pending_frame_callbacks (MetaWaylandSurface *sur
} }
void void
meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface, meta_wayland_surface_apply_state (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *state)
{ {
gboolean had_damage = FALSE; gboolean had_damage = FALSE;
@ -626,18 +626,18 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
if (surface->role) if (surface->role)
{ {
meta_wayland_surface_role_pre_commit (surface->role, pending); meta_wayland_surface_role_pre_commit (surface->role, state);
} }
else else
{ {
if (pending->newly_attached && surface->unassigned.buffer) if (state->newly_attached && surface->unassigned.buffer)
{ {
meta_wayland_surface_unref_buffer_use_count (surface); meta_wayland_surface_unref_buffer_use_count (surface);
g_clear_object (&surface->unassigned.buffer); g_clear_object (&surface->unassigned.buffer);
} }
} }
if (pending->newly_attached) if (state->newly_attached)
{ {
if (!surface->buffer_ref.buffer && surface->window) if (!surface->buffer_ref.buffer && surface->window)
meta_window_queue (surface->window, META_QUEUE_CALC_SHOWING); meta_window_queue (surface->window, META_QUEUE_CALC_SHOWING);
@ -650,17 +650,17 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
if (surface->buffer_held) if (surface->buffer_held)
meta_wayland_surface_unref_buffer_use_count (surface); meta_wayland_surface_unref_buffer_use_count (surface);
g_set_object (&surface->buffer_ref.buffer, pending->buffer); g_set_object (&surface->buffer_ref.buffer, state->buffer);
if (pending->buffer) if (state->buffer)
meta_wayland_surface_ref_buffer_use_count (surface); meta_wayland_surface_ref_buffer_use_count (surface);
if (pending->buffer) if (state->buffer)
{ {
GError *error = NULL; GError *error = NULL;
gboolean changed_texture; gboolean changed_texture;
if (!meta_wayland_buffer_attach (pending->buffer, if (!meta_wayland_buffer_attach (state->buffer,
&surface->texture, &surface->texture,
&changed_texture, &changed_texture,
&error)) &error))
@ -683,8 +683,8 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
stex = meta_surface_actor_get_texture (meta_wayland_surface_get_actor (surface)); stex = meta_surface_actor_get_texture (meta_wayland_surface_get_actor (surface));
texture = surface->texture; texture = surface->texture;
snippet = meta_wayland_buffer_create_snippet (pending->buffer); snippet = meta_wayland_buffer_create_snippet (state->buffer);
is_y_inverted = meta_wayland_buffer_is_y_inverted (pending->buffer); is_y_inverted = meta_wayland_buffer_is_y_inverted (state->buffer);
meta_shaped_texture_set_texture (stex, texture); meta_shaped_texture_set_texture (stex, texture);
meta_shaped_texture_set_snippet (stex, snippet); meta_shaped_texture_set_snippet (stex, snippet);
@ -702,74 +702,74 @@ meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface,
* it until is replaced by a subsequent wl_surface.commit or when the * it until is replaced by a subsequent wl_surface.commit or when the
* wl_surface is destroyed. * wl_surface is destroyed.
*/ */
surface->buffer_held = (pending->buffer && surface->buffer_held = (state->buffer &&
!wl_shm_buffer_get (pending->buffer->resource)); !wl_shm_buffer_get (state->buffer->resource));
} }
if (pending->scale > 0) if (state->scale > 0)
surface->scale = pending->scale; surface->scale = state->scale;
if (pending->has_new_buffer_transform) if (state->has_new_buffer_transform)
surface->buffer_transform = pending->buffer_transform; surface->buffer_transform = state->buffer_transform;
if (pending->has_new_viewport_src_rect) if (state->has_new_viewport_src_rect)
{ {
surface->viewport.src_rect.origin.x = pending->viewport_src_rect.origin.x; surface->viewport.src_rect.origin.x = state->viewport_src_rect.origin.x;
surface->viewport.src_rect.origin.y = pending->viewport_src_rect.origin.y; surface->viewport.src_rect.origin.y = state->viewport_src_rect.origin.y;
surface->viewport.src_rect.size.width = pending->viewport_src_rect.size.width; surface->viewport.src_rect.size.width = state->viewport_src_rect.size.width;
surface->viewport.src_rect.size.height = pending->viewport_src_rect.size.height; surface->viewport.src_rect.size.height = state->viewport_src_rect.size.height;
surface->viewport.has_src_rect = surface->viewport.src_rect.size.width > 0; surface->viewport.has_src_rect = surface->viewport.src_rect.size.width > 0;
} }
if (pending->has_new_viewport_dst_size) if (state->has_new_viewport_dst_size)
{ {
surface->viewport.dst_width = pending->viewport_dst_width; surface->viewport.dst_width = state->viewport_dst_width;
surface->viewport.dst_height = pending->viewport_dst_height; surface->viewport.dst_height = state->viewport_dst_height;
surface->viewport.has_dst_size = surface->viewport.dst_width > 0; surface->viewport.has_dst_size = surface->viewport.dst_width > 0;
} }
if (!cairo_region_is_empty (pending->surface_damage) || if (!cairo_region_is_empty (state->surface_damage) ||
!cairo_region_is_empty (pending->buffer_damage)) !cairo_region_is_empty (state->buffer_damage))
{ {
surface_process_damage (surface, surface_process_damage (surface,
pending->surface_damage, state->surface_damage,
pending->buffer_damage); state->buffer_damage);
had_damage = TRUE; had_damage = TRUE;
} }
surface->offset_x += pending->dx; surface->offset_x += state->dx;
surface->offset_y += pending->dy; surface->offset_y += state->dy;
if (pending->opaque_region_set) if (state->opaque_region_set)
{ {
if (surface->opaque_region) if (surface->opaque_region)
cairo_region_destroy (surface->opaque_region); cairo_region_destroy (surface->opaque_region);
if (pending->opaque_region) if (state->opaque_region)
surface->opaque_region = cairo_region_reference (pending->opaque_region); surface->opaque_region = cairo_region_reference (state->opaque_region);
else else
surface->opaque_region = NULL; surface->opaque_region = NULL;
} }
if (pending->input_region_set) if (state->input_region_set)
{ {
if (surface->input_region) if (surface->input_region)
cairo_region_destroy (surface->input_region); cairo_region_destroy (surface->input_region);
if (pending->input_region) if (state->input_region)
surface->input_region = cairo_region_reference (pending->input_region); surface->input_region = cairo_region_reference (state->input_region);
else else
surface->input_region = NULL; surface->input_region = NULL;
} }
if (surface->role) if (surface->role)
{ {
meta_wayland_surface_role_commit (surface->role, pending); meta_wayland_surface_role_commit (surface->role, state);
g_assert (wl_list_empty (&pending->frame_callback_list)); g_assert (wl_list_empty (&state->frame_callback_list));
} }
else else
{ {
meta_wayland_surface_cache_pending_frame_callbacks (surface, pending); meta_wayland_surface_cache_pending_frame_callbacks (surface, state);
if (pending->newly_attached) if (state->newly_attached)
{ {
/* The need to keep the wl_buffer from being released depends on what /* The need to keep the wl_buffer from being released depends on what
* role the surface is given. That means we need to also keep a use * role the surface is given. That means we need to also keep a use
@ -785,15 +785,15 @@ cleanup:
/* If we have a buffer that we are not using, decrease the use count so it may /* If we have a buffer that we are not using, decrease the use count so it may
* be released if no-one else has a use-reference to it. * be released if no-one else has a use-reference to it.
*/ */
if (pending->newly_attached && if (state->newly_attached &&
!surface->buffer_held && surface->buffer_ref.buffer) !surface->buffer_held && surface->buffer_ref.buffer)
meta_wayland_surface_unref_buffer_use_count (surface); meta_wayland_surface_unref_buffer_use_count (surface);
g_signal_emit (pending, g_signal_emit (state,
pending_state_signals[PENDING_STATE_SIGNAL_APPLIED], surface_state_signals[SURFACE_STATE_SIGNAL_APPLIED],
0); 0);
pending_state_reset (pending); meta_wayland_surface_state_reset (state);
g_node_children_foreach (surface->subsurface_branch_node, g_node_children_foreach (surface->subsurface_branch_node,
G_TRAVERSE_ALL, G_TRAVERSE_ALL,
@ -817,7 +817,7 @@ cleanup:
} }
} }
MetaWaylandPendingState * MetaWaylandSurfaceState *
meta_wayland_surface_get_pending_state (MetaWaylandSurface *surface) meta_wayland_surface_get_pending_state (MetaWaylandSurface *surface)
{ {
return surface->pending_state; return surface->pending_state;
@ -826,7 +826,7 @@ meta_wayland_surface_get_pending_state (MetaWaylandSurface *surface)
static void static void
meta_wayland_surface_commit (MetaWaylandSurface *surface) meta_wayland_surface_commit (MetaWaylandSurface *surface)
{ {
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
COGL_TRACE_BEGIN_SCOPED (MetaWaylandSurfaceCommit, COGL_TRACE_BEGIN_SCOPED (MetaWaylandSurfaceCommit,
"WaylandSurface (commit)"); "WaylandSurface (commit)");
@ -844,9 +844,9 @@ meta_wayland_surface_commit (MetaWaylandSurface *surface)
* surface is in effective desynchronized mode. * surface is in effective desynchronized mode.
*/ */
if (meta_wayland_surface_should_cache_state (surface)) if (meta_wayland_surface_should_cache_state (surface))
merge_pending_state (pending, surface->sub.pending); meta_wayland_surface_state_merge_into (pending, surface->sub.pending);
else else
meta_wayland_surface_apply_pending_state (surface, pending); meta_wayland_surface_apply_state (surface, surface->pending_state);
} }
static void static void
@ -864,7 +864,7 @@ wl_surface_attach (struct wl_client *client,
{ {
MetaWaylandSurface *surface = MetaWaylandSurface *surface =
wl_resource_get_user_data (surface_resource); wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
MetaWaylandBuffer *buffer; MetaWaylandBuffer *buffer;
/* X11 unmanaged window */ /* X11 unmanaged window */
@ -905,7 +905,7 @@ wl_surface_damage (struct wl_client *client,
int32_t height) int32_t height)
{ {
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource); MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
cairo_rectangle_int_t rectangle; cairo_rectangle_int_t rectangle;
/* X11 unmanaged window */ /* X11 unmanaged window */
@ -938,7 +938,7 @@ wl_surface_frame (struct wl_client *client,
{ {
MetaWaylandFrameCallback *callback; MetaWaylandFrameCallback *callback;
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource); MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
/* X11 unmanaged window */ /* X11 unmanaged window */
if (!surface) if (!surface)
@ -962,7 +962,7 @@ wl_surface_set_opaque_region (struct wl_client *client,
struct wl_resource *region_resource) struct wl_resource *region_resource)
{ {
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource); MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
/* X11 unmanaged window */ /* X11 unmanaged window */
if (!surface) if (!surface)
@ -984,7 +984,7 @@ wl_surface_set_input_region (struct wl_client *client,
struct wl_resource *region_resource) struct wl_resource *region_resource)
{ {
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource); MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
/* X11 unmanaged window */ /* X11 unmanaged window */
if (!surface) if (!surface)
@ -1047,7 +1047,7 @@ wl_surface_set_buffer_transform (struct wl_client *client,
int32_t transform) int32_t transform)
{ {
MetaWaylandSurface *surface = wl_resource_get_user_data (resource); MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
MetaMonitorTransform buffer_transform; MetaMonitorTransform buffer_transform;
buffer_transform = transform_from_wl_output_transform (transform); buffer_transform = transform_from_wl_output_transform (transform);
@ -1071,7 +1071,7 @@ wl_surface_set_buffer_scale (struct wl_client *client,
int scale) int scale)
{ {
MetaWaylandSurface *surface = wl_resource_get_user_data (resource); MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
if (scale <= 0) if (scale <= 0)
{ {
@ -1094,7 +1094,7 @@ wl_surface_damage_buffer (struct wl_client *client,
int32_t height) int32_t height)
{ {
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource); MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandPendingState *pending = surface->pending_state; MetaWaylandSurfaceState *pending = surface->pending_state;
cairo_rectangle_int_t rectangle; cairo_rectangle_int_t rectangle;
/* X11 unmanaged window */ /* X11 unmanaged window */
@ -1647,7 +1647,7 @@ meta_wayland_surface_get_absolute_coordinates (MetaWaylandSurface *surface,
static void static void
meta_wayland_surface_init (MetaWaylandSurface *surface) meta_wayland_surface_init (MetaWaylandSurface *surface)
{ {
surface->pending_state = g_object_new (META_TYPE_WAYLAND_PENDING_STATE, NULL); surface->pending_state = g_object_new (META_TYPE_WAYLAND_SURFACE_STATE, NULL);
surface->subsurface_branch_node = g_node_new (surface); surface->subsurface_branch_node = g_node_new (surface);
surface->subsurface_leaf_node = surface->subsurface_leaf_node =
g_node_prepend_data (surface->subsurface_branch_node, surface); g_node_prepend_data (surface->subsurface_branch_node, surface);
@ -1791,7 +1791,7 @@ meta_wayland_surface_role_assigned (MetaWaylandSurfaceRole *surface_role)
static void static void
meta_wayland_surface_role_pre_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_surface_role_pre_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandSurfaceRoleClass *klass; MetaWaylandSurfaceRoleClass *klass;
@ -1802,7 +1802,7 @@ meta_wayland_surface_role_pre_commit (MetaWaylandSurfaceRole *surface_role,
static void static void
meta_wayland_surface_role_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
META_WAYLAND_SURFACE_ROLE_GET_CLASS (surface_role)->commit (surface_role, META_WAYLAND_SURFACE_ROLE_GET_CLASS (surface_role)->commit (surface_role,
pending); pending);

View File

@ -33,8 +33,6 @@
#include "wayland/meta-wayland-pointer-constraints.h" #include "wayland/meta-wayland-pointer-constraints.h"
#include "wayland/meta-wayland-types.h" #include "wayland/meta-wayland-types.h"
typedef struct _MetaWaylandPendingState MetaWaylandPendingState;
#define META_TYPE_WAYLAND_SURFACE (meta_wayland_surface_get_type ()) #define META_TYPE_WAYLAND_SURFACE (meta_wayland_surface_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandSurface, G_DECLARE_FINAL_TYPE (MetaWaylandSurface,
meta_wayland_surface, meta_wayland_surface,
@ -45,11 +43,11 @@ G_DECLARE_FINAL_TYPE (MetaWaylandSurface,
G_DECLARE_DERIVABLE_TYPE (MetaWaylandSurfaceRole, meta_wayland_surface_role, G_DECLARE_DERIVABLE_TYPE (MetaWaylandSurfaceRole, meta_wayland_surface_role,
META, WAYLAND_SURFACE_ROLE, GObject); META, WAYLAND_SURFACE_ROLE, GObject);
#define META_TYPE_WAYLAND_PENDING_STATE (meta_wayland_pending_state_get_type ()) #define META_TYPE_WAYLAND_SURFACE_STATE (meta_wayland_surface_state_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandPendingState, G_DECLARE_FINAL_TYPE (MetaWaylandSurfaceState,
meta_wayland_pending_state, meta_wayland_surface_state,
META, WAYLAND_PENDING_STATE, META, WAYLAND_SURFACE_STATE,
GObject); GObject)
struct _MetaWaylandSurfaceRoleClass struct _MetaWaylandSurfaceRoleClass
{ {
@ -57,9 +55,9 @@ struct _MetaWaylandSurfaceRoleClass
void (*assigned) (MetaWaylandSurfaceRole *surface_role); void (*assigned) (MetaWaylandSurfaceRole *surface_role);
void (*pre_commit) (MetaWaylandSurfaceRole *surface_role, void (*pre_commit) (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending); MetaWaylandSurfaceState *pending);
void (*commit) (MetaWaylandSurfaceRole *surface_role, void (*commit) (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending); MetaWaylandSurfaceState *pending);
gboolean (*is_on_logical_monitor) (MetaWaylandSurfaceRole *surface_role, gboolean (*is_on_logical_monitor) (MetaWaylandSurfaceRole *surface_role,
MetaLogicalMonitor *logical_monitor); MetaLogicalMonitor *logical_monitor);
MetaWaylandSurface * (*get_toplevel) (MetaWaylandSurfaceRole *surface_role); MetaWaylandSurface * (*get_toplevel) (MetaWaylandSurfaceRole *surface_role);
@ -71,7 +69,7 @@ struct _MetaWaylandSerial {
uint32_t value; uint32_t value;
}; };
struct _MetaWaylandPendingState struct _MetaWaylandSurfaceState
{ {
GObject parent; GObject parent;
@ -177,7 +175,7 @@ struct _MetaWaylandSurface
} dnd; } dnd;
/* All the pending state that wl_surface.commit will apply. */ /* All the pending state that wl_surface.commit will apply. */
MetaWaylandPendingState *pending_state; MetaWaylandSurfaceState *pending_state;
/* Extension resources. */ /* Extension resources. */
struct wl_resource *wl_subsurface; struct wl_resource *wl_subsurface;
@ -199,7 +197,7 @@ struct _MetaWaylandSurface
* state here. * state here.
*/ */
gboolean synchronous; gboolean synchronous;
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
int32_t pending_x; int32_t pending_x;
int32_t pending_y; int32_t pending_y;
@ -231,11 +229,11 @@ MetaWaylandSurface *meta_wayland_surface_create (MetaWaylandCompositor *composit
struct wl_resource *compositor_resource, struct wl_resource *compositor_resource,
guint32 id); guint32 id);
MetaWaylandPendingState * MetaWaylandSurfaceState *
meta_wayland_surface_get_pending_state (MetaWaylandSurface *surface); meta_wayland_surface_get_pending_state (MetaWaylandSurface *surface);
void meta_wayland_surface_apply_pending_state (MetaWaylandSurface *surface, void meta_wayland_surface_apply_state (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending); MetaWaylandSurfaceState *state);
gboolean meta_wayland_surface_is_effectively_synchronized (MetaWaylandSurface *surface); gboolean meta_wayland_surface_is_effectively_synchronized (MetaWaylandSurface *surface);
@ -282,12 +280,12 @@ gboolean meta_wayland_surface_should_cache_state (MetaWaylandSurface
MetaWindow * meta_wayland_surface_get_toplevel_window (MetaWaylandSurface *surface); MetaWindow * meta_wayland_surface_get_toplevel_window (MetaWaylandSurface *surface);
void meta_wayland_surface_cache_pending_frame_callbacks (MetaWaylandSurface *surface, void meta_wayland_surface_cache_pending_frame_callbacks (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending); MetaWaylandSurfaceState *pending);
void meta_wayland_surface_queue_pending_frame_callbacks (MetaWaylandSurface *surface); void meta_wayland_surface_queue_pending_frame_callbacks (MetaWaylandSurface *surface);
void meta_wayland_surface_queue_pending_state_frame_callbacks (MetaWaylandSurface *surface, void meta_wayland_surface_queue_pending_state_frame_callbacks (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending); MetaWaylandSurfaceState *pending);
void meta_wayland_surface_get_relative_coordinates (MetaWaylandSurface *surface, void meta_wayland_surface_get_relative_coordinates (MetaWaylandSurface *surface,
float abs_x, float abs_x,

View File

@ -37,7 +37,7 @@ static void
wp_viewport_destructor (struct wl_resource *resource) wp_viewport_destructor (struct wl_resource *resource)
{ {
MetaWaylandSurface *surface; MetaWaylandSurface *surface;
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
surface = wl_resource_get_user_data (resource); surface = wl_resource_get_user_data (resource);
if (!surface) if (!surface)
@ -100,7 +100,7 @@ wp_viewport_set_source (struct wl_client *client,
(new_x == -1 && new_y == -1 && (new_x == -1 && new_y == -1 &&
new_width == -1 && new_height == -1)) new_width == -1 && new_height == -1))
{ {
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
pending = meta_wayland_surface_get_pending_state (surface); pending = meta_wayland_surface_get_pending_state (surface);
pending->viewport_src_rect.origin.x = new_x; pending->viewport_src_rect.origin.x = new_x;
@ -139,7 +139,7 @@ wp_viewport_set_destination (struct wl_client *client,
if ((dst_width > 0 && dst_height > 0) || if ((dst_width > 0 && dst_height > 0) ||
(dst_width == -1 && dst_height == -1)) (dst_width == -1 && dst_height == -1))
{ {
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
pending = meta_wayland_surface_get_pending_state (surface); pending = meta_wayland_surface_get_pending_state (surface);
pending->viewport_dst_width = dst_width; pending->viewport_dst_width = dst_width;

View File

@ -563,7 +563,7 @@ bind_wl_shell (struct wl_client *client,
static void static void
wl_shell_surface_role_commit (MetaWaylandSurfaceRole *surface_role, wl_shell_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandWlShellSurface *wl_shell_surface = MetaWaylandWlShellSurface *wl_shell_surface =
META_WAYLAND_WL_SHELL_SURFACE (surface_role); META_WAYLAND_WL_SHELL_SURFACE (surface_role);

View File

@ -346,7 +346,7 @@ xdg_toplevel_set_max_size (struct wl_client *client,
int32_t height) int32_t height)
{ {
MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource); MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource);
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
if (width < 0 || height < 0) if (width < 0 || height < 0)
{ {
@ -371,7 +371,7 @@ xdg_toplevel_set_min_size (struct wl_client *client,
int32_t height) int32_t height)
{ {
MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource); MetaWaylandSurface *surface = surface_from_xdg_toplevel_resource (resource);
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
if (width < 0 || height < 0) if (width < 0 || height < 0)
{ {
@ -650,7 +650,7 @@ meta_wayland_xdg_toplevel_send_configure (MetaWaylandXdgToplevel *xdg_toplevel,
static gboolean static gboolean
is_new_size_hints_valid (MetaWindow *window, is_new_size_hints_valid (MetaWindow *window,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
int new_min_width, new_min_height; int new_min_width, new_min_height;
int new_max_width, new_max_height; int new_max_width, new_max_height;
@ -681,7 +681,7 @@ is_new_size_hints_valid (MetaWindow *window,
static void static void
meta_wayland_xdg_toplevel_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_xdg_toplevel_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandXdgToplevel *xdg_toplevel = META_WAYLAND_XDG_TOPLEVEL (surface_role); MetaWaylandXdgToplevel *xdg_toplevel = META_WAYLAND_XDG_TOPLEVEL (surface_role);
MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (xdg_toplevel); MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (xdg_toplevel);
@ -1037,7 +1037,7 @@ finish_popup_setup (MetaWaylandXdgPopup *xdg_popup)
static void static void
meta_wayland_xdg_popup_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_xdg_popup_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandXdgPopup *xdg_popup = META_WAYLAND_XDG_POPUP (surface_role); MetaWaylandXdgPopup *xdg_popup = META_WAYLAND_XDG_POPUP (surface_role);
MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (surface_role); MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (surface_role);
@ -1383,7 +1383,7 @@ xdg_surface_set_window_geometry (struct wl_client *client,
int32_t height) int32_t height)
{ {
MetaWaylandSurface *surface = surface_from_xdg_surface_resource (resource); MetaWaylandSurface *surface = surface_from_xdg_surface_resource (resource);
MetaWaylandPendingState *pending; MetaWaylandSurfaceState *pending;
pending = meta_wayland_surface_get_pending_state (surface); pending = meta_wayland_surface_get_pending_state (surface);
pending->has_new_geometry = TRUE; pending->has_new_geometry = TRUE;
@ -1440,7 +1440,7 @@ meta_wayland_xdg_surface_real_reset (MetaWaylandXdgSurface *xdg_surface)
static void static void
meta_wayland_xdg_surface_commit (MetaWaylandSurfaceRole *surface_role, meta_wayland_xdg_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending) MetaWaylandSurfaceState *pending)
{ {
MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (surface_role); MetaWaylandXdgSurface *xdg_surface = META_WAYLAND_XDG_SURFACE (surface_role);
MetaWaylandShellSurface *shell_surface = MetaWaylandShellSurface *shell_surface =