[mutter] wayland-surface: Remove MetaWaylandSurfaceExtension
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] wayland-surface: Remove MetaWaylandSurfaceExtension
- Date: Tue, 7 Oct 2014 18:24:27 +0000 (UTC)
commit acd928044f76ed519dab36dd2e61ea3c9e7e1da2
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Tue Oct 7 10:44:16 2014 -0700
wayland-surface: Remove MetaWaylandSurfaceExtension
It only contained a pointer to a wl_resource, which isn't much of
value. Just replace it with the wl_resource instead. Any future private
data should be handled by our future role system.
src/wayland/meta-wayland-pointer.c | 8 ++--
src/wayland/meta-wayland-surface.c | 72 ++++++++++++++++++------------------
src/wayland/meta-wayland-surface.h | 17 +++-----
3 files changed, 46 insertions(+), 51 deletions(-)
---
diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c
index 2624857..5ae685f 100644
--- a/src/wayland/meta-wayland-pointer.c
+++ b/src/wayland/meta-wayland-pointer.c
@@ -716,10 +716,10 @@ meta_wayland_pointer_start_popup_grab (MetaWaylandPointer *pointer,
popup->grab = grab;
popup->surface = surface;
popup->surface_destroy_listener.notify = on_popup_surface_destroy;
- if (surface->xdg_popup.resource)
- wl_resource_add_destroy_listener (surface->xdg_popup.resource, &popup->surface_destroy_listener);
- else if (surface->wl_shell_surface.resource)
- wl_resource_add_destroy_listener (surface->wl_shell_surface.resource, &popup->surface_destroy_listener);
+ if (surface->xdg_popup)
+ wl_resource_add_destroy_listener (surface->xdg_popup, &popup->surface_destroy_listener);
+ else if (surface->wl_shell_surface)
+ wl_resource_add_destroy_listener (surface->wl_shell_surface, &popup->surface_destroy_listener);
wl_list_insert (&grab->all_popups, &popup->link);
return TRUE;
diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
index 47ccd5e..1032c5e 100644
--- a/src/wayland/meta-wayland-surface.c
+++ b/src/wayland/meta-wayland-surface.c
@@ -463,7 +463,7 @@ commit_pending_state (MetaWaylandSurface *surface,
dnd_surface_commit (surface, pending);
else if (surface->window)
toplevel_surface_commit (surface, pending);
- else if (surface->wl_subsurface.resource)
+ else if (surface->wl_subsurface)
subsurface_surface_commit (surface, pending);
g_list_foreach (surface->subsurfaces, parent_surface_committed, NULL);
@@ -654,7 +654,7 @@ surface_should_be_reactive (MetaWaylandSurface *surface)
return TRUE;
/* If we're a subsurface, we should be reactive */
- if (surface->wl_subsurface.resource)
+ if (surface->wl_subsurface)
return TRUE;
return FALSE;
@@ -760,7 +760,7 @@ xdg_surface_destructor (struct wl_resource *resource)
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
destroy_window (surface);
- surface->xdg_surface.resource = NULL;
+ surface->xdg_surface = NULL;
}
static void
@@ -998,7 +998,7 @@ xdg_shell_get_xdg_surface (struct wl_client *client,
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWindow *window;
- if (surface->xdg_surface.resource != NULL)
+ if (surface->xdg_surface != NULL)
{
wl_resource_post_error (surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@@ -1006,8 +1006,8 @@ xdg_shell_get_xdg_surface (struct wl_client *client,
return;
}
- surface->xdg_surface.resource = wl_resource_create (client, &xdg_surface_interface,
wl_resource_get_version (resource), id);
- wl_resource_set_implementation (surface->xdg_surface.resource, &meta_wayland_xdg_surface_interface,
surface, xdg_surface_destructor);
+ surface->xdg_surface = wl_resource_create (client, &xdg_surface_interface, wl_resource_get_version
(resource), id);
+ wl_resource_set_implementation (surface->xdg_surface, &meta_wayland_xdg_surface_interface, surface,
xdg_surface_destructor);
surface->xdg_shell_resource = resource;
@@ -1021,7 +1021,7 @@ xdg_popup_destructor (struct wl_resource *resource)
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
destroy_window (surface);
- surface->xdg_popup.resource = NULL;
+ surface->xdg_popup = NULL;
}
static void
@@ -1056,7 +1056,7 @@ xdg_shell_get_xdg_popup (struct wl_client *client,
if (parent_surf == NULL || parent_surf->window == NULL)
return;
- if (surface->xdg_popup.resource != NULL)
+ if (surface->xdg_popup != NULL)
{
wl_resource_post_error (surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@@ -1064,8 +1064,8 @@ xdg_shell_get_xdg_popup (struct wl_client *client,
return;
}
- surface->xdg_popup.resource = wl_resource_create (client, &xdg_popup_interface, wl_resource_get_version
(resource), id);
- wl_resource_set_implementation (surface->xdg_popup.resource, &meta_wayland_xdg_popup_interface, surface,
xdg_popup_destructor);
+ surface->xdg_popup = wl_resource_create (client, &xdg_popup_interface, wl_resource_get_version (resource),
id);
+ wl_resource_set_implementation (surface->xdg_popup, &meta_wayland_xdg_popup_interface, surface,
xdg_popup_destructor);
surface->xdg_shell_resource = resource;
@@ -1114,7 +1114,7 @@ wl_shell_surface_destructor (struct wl_resource *resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
- surface->wl_shell_surface.resource = NULL;
+ surface->wl_shell_surface = NULL;
}
static void
@@ -1322,7 +1322,7 @@ wl_shell_get_shell_surface (struct wl_client *client,
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWindow *window;
- if (surface->wl_shell_surface.resource != NULL)
+ if (surface->wl_shell_surface != NULL)
{
wl_resource_post_error (surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@@ -1330,8 +1330,8 @@ wl_shell_get_shell_surface (struct wl_client *client,
return;
}
- surface->wl_shell_surface.resource = wl_resource_create (client, &wl_shell_surface_interface,
wl_resource_get_version (resource), id);
- wl_resource_set_implementation (surface->wl_shell_surface.resource,
&meta_wayland_wl_shell_surface_interface, surface, wl_shell_surface_destructor);
+ surface->wl_shell_surface = wl_resource_create (client, &wl_shell_surface_interface,
wl_resource_get_version (resource), id);
+ wl_resource_set_implementation (surface->wl_shell_surface, &meta_wayland_wl_shell_surface_interface,
surface, wl_shell_surface_destructor);
window = meta_window_wayland_new (meta_get_display (), surface);
meta_wayland_surface_set_window (surface, window);
@@ -1358,7 +1358,7 @@ gtk_surface_destructor (struct wl_resource *resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
- surface->gtk_surface.resource = NULL;
+ surface->gtk_surface = NULL;
}
static void
@@ -1401,7 +1401,7 @@ get_gtk_surface (struct wl_client *client,
{
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
- if (surface->gtk_surface.resource != NULL)
+ if (surface->gtk_surface != NULL)
{
wl_resource_post_error (surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@@ -1409,8 +1409,8 @@ get_gtk_surface (struct wl_client *client,
return;
}
- surface->gtk_surface.resource = wl_resource_create (client, >k_surface_interface,
wl_resource_get_version (resource), id);
- wl_resource_set_implementation (surface->gtk_surface.resource, &meta_wayland_gtk_surface_interface,
surface, gtk_surface_destructor);
+ surface->gtk_surface = wl_resource_create (client, >k_surface_interface, wl_resource_get_version
(resource), id);
+ wl_resource_set_implementation (surface->gtk_surface, &meta_wayland_gtk_surface_interface, surface,
gtk_surface_destructor);
}
static const struct gtk_shell_interface meta_wayland_gtk_shell_interface = {
@@ -1511,7 +1511,7 @@ wl_subsurface_destructor (struct wl_resource *resource)
}
pending_state_destroy (&surface->sub.pending);
- surface->wl_subsurface.resource = NULL;
+ surface->wl_subsurface = NULL;
}
static void
@@ -1675,7 +1675,7 @@ wl_subcompositor_get_subsurface (struct wl_client *client,
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandSurface *parent = wl_resource_get_user_data (parent_resource);
- if (surface->wl_subsurface.resource != NULL)
+ if (surface->wl_subsurface != NULL)
{
wl_resource_post_error (surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@@ -1683,8 +1683,8 @@ wl_subcompositor_get_subsurface (struct wl_client *client,
return;
}
- surface->wl_subsurface.resource = wl_resource_create (client, &wl_subsurface_interface,
wl_resource_get_version (resource), id);
- wl_resource_set_implementation (surface->wl_subsurface.resource, &meta_wayland_subsurface_interface,
surface, wl_subsurface_destructor);
+ surface->wl_subsurface = wl_resource_create (client, &wl_subsurface_interface, wl_resource_get_version
(resource), id);
+ wl_resource_set_implementation (surface->wl_subsurface, &meta_wayland_subsurface_interface, surface,
wl_subsurface_destructor);
pending_state_init (&surface->sub.pending);
surface->sub.synchronous = TRUE;
@@ -1777,9 +1777,9 @@ meta_wayland_surface_configure_notify (MetaWaylandSurface *surface,
int new_height,
MetaWaylandSerial *sent_serial)
{
- if (surface->xdg_surface.resource)
+ if (surface->xdg_surface)
{
- struct wl_client *client = wl_resource_get_client (surface->xdg_surface.resource);
+ struct wl_client *client = wl_resource_get_client (surface->xdg_surface);
struct wl_display *display = wl_client_get_display (client);
uint32_t serial = wl_display_next_serial (display);
struct wl_array states;
@@ -1793,7 +1793,7 @@ meta_wayland_surface_configure_notify (MetaWaylandSurface *surface,
new_width /= surface->scale;
new_height /= surface->scale;
- xdg_surface_send_configure (surface->xdg_surface.resource, new_width, new_height, &states, serial);
+ xdg_surface_send_configure (surface->xdg_surface, new_width, new_height, &states, serial);
wl_array_release (&states);
@@ -1803,13 +1803,13 @@ meta_wayland_surface_configure_notify (MetaWaylandSurface *surface,
sent_serial->value = serial;
}
}
- else if (surface->xdg_popup.resource)
+ else if (surface->xdg_popup)
{
/* This can happen if the popup window loses or receives focus.
* Just ignore it. */
}
- else if (surface->wl_shell_surface.resource)
- wl_shell_surface_send_configure (surface->wl_shell_surface.resource,
+ else if (surface->wl_shell_surface)
+ wl_shell_surface_send_configure (surface->wl_shell_surface,
0, new_width, new_height);
else
g_assert_not_reached ();
@@ -1821,15 +1821,15 @@ meta_wayland_surface_ping (MetaWaylandSurface *surface,
{
if (surface->xdg_shell_resource)
xdg_shell_send_ping (surface->xdg_shell_resource, serial);
- else if (surface->wl_shell_surface.resource)
- wl_shell_surface_send_ping (surface->wl_shell_surface.resource, serial);
+ else if (surface->wl_shell_surface)
+ wl_shell_surface_send_ping (surface->wl_shell_surface, serial);
}
void
meta_wayland_surface_delete (MetaWaylandSurface *surface)
{
- if (surface->xdg_surface.resource)
- xdg_surface_send_close (surface->xdg_surface.resource);
+ if (surface->xdg_surface)
+ xdg_surface_send_close (surface->xdg_surface);
}
void
@@ -1839,8 +1839,8 @@ meta_wayland_surface_popup_done (MetaWaylandSurface *surface)
struct wl_display *display = wl_client_get_display (client);
uint32_t serial = wl_display_next_serial (display);
- if (surface->xdg_popup.resource)
- xdg_popup_send_popup_done (surface->xdg_popup.resource, serial);
- else if (surface->wl_shell_surface.resource)
- wl_shell_surface_send_popup_done (surface->wl_shell_surface.resource);
+ if (surface->xdg_popup)
+ xdg_popup_send_popup_done (surface->xdg_popup, serial);
+ else if (surface->wl_shell_surface)
+ wl_shell_surface_send_popup_done (surface->wl_shell_surface);
}
diff --git a/src/wayland/meta-wayland-surface.h b/src/wayland/meta-wayland-surface.h
index 97c4fb1..105a449 100644
--- a/src/wayland/meta-wayland-surface.h
+++ b/src/wayland/meta-wayland-surface.h
@@ -70,11 +70,6 @@ typedef struct
gboolean has_new_geometry;
} MetaWaylandPendingState;
-typedef struct
-{
- struct wl_resource *resource;
-} MetaWaylandSurfaceExtension;
-
struct _MetaWaylandSurface
{
/* Generic stuff */
@@ -91,12 +86,12 @@ struct _MetaWaylandSurface
/* All the pending state that wl_surface.commit will apply. */
MetaWaylandPendingState pending;
- /* Extension structs. */
- MetaWaylandSurfaceExtension xdg_surface;
- MetaWaylandSurfaceExtension xdg_popup;
- MetaWaylandSurfaceExtension wl_shell_surface;
- MetaWaylandSurfaceExtension gtk_surface;
- MetaWaylandSurfaceExtension wl_subsurface;
+ /* Extension resources. */
+ struct wl_resource *xdg_surface;
+ struct wl_resource *xdg_popup;
+ struct wl_resource *wl_shell_surface;
+ struct wl_resource *gtk_surface;
+ struct wl_resource *wl_subsurface;
/* xdg_surface stuff */
struct wl_resource *xdg_shell_resource;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]