diff options
author | Leonardo Hernández Hernández <leohdz172@proton.me> | 2023-08-19 11:10:36 -0600 |
---|---|---|
committer | Leonardo Hernández Hernández <leohdz172@proton.me> | 2023-08-19 11:10:36 -0600 |
commit | bdc34401ba8e4a59b3464c17fa5acf43ca417e57 (patch) | |
tree | 28ea9db18dab8adfa1c857a5c29732a31371ca74 | |
parent | 22b6581a18c7b3cf10fbbc8f94c01eeffd4293f7 (diff) |
xdg-decoration: store an xdg_toplevel instead of xdg_surface
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3685
-rw-r--r-- | include/wlr/types/wlr_xdg_decoration_v1.h | 2 | ||||
-rw-r--r-- | types/wlr_xdg_decoration_v1.c | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/include/wlr/types/wlr_xdg_decoration_v1.h b/include/wlr/types/wlr_xdg_decoration_v1.h index 138eb020..13bb4294 100644 --- a/include/wlr/types/wlr_xdg_decoration_v1.h +++ b/include/wlr/types/wlr_xdg_decoration_v1.h @@ -36,7 +36,7 @@ struct wlr_xdg_toplevel_decoration_v1_state { struct wlr_xdg_toplevel_decoration_v1 { struct wl_resource *resource; - struct wlr_xdg_surface *surface; + struct wlr_xdg_toplevel * toplevel; struct wlr_xdg_decoration_manager_v1 *manager; struct wl_list link; // wlr_xdg_decoration_manager_v1.link diff --git a/types/wlr_xdg_decoration_v1.c b/types/wlr_xdg_decoration_v1.c index d20461ed..f750821c 100644 --- a/types/wlr_xdg_decoration_v1.c +++ b/types/wlr_xdg_decoration_v1.c @@ -54,7 +54,7 @@ uint32_t wlr_xdg_toplevel_decoration_v1_set_mode( enum wlr_xdg_toplevel_decoration_v1_mode mode) { assert(mode != WLR_XDG_TOPLEVEL_DECORATION_V1_MODE_NONE); decoration->scheduled_mode = mode; - return wlr_xdg_surface_schedule_configure(decoration->surface); + return wlr_xdg_surface_schedule_configure(decoration->toplevel->base); } static void toplevel_decoration_handle_resource_destroy( @@ -150,7 +150,7 @@ static void toplevel_decoration_handle_surface_commit( decoration->current = decoration->pending; - if (decoration->surface->added && !decoration->added) { + if (decoration->toplevel->base->added && !decoration->added) { decoration->added = true; wl_signal_emit_mutable(&manager->events.new_toplevel_decoration, decoration); @@ -189,7 +189,7 @@ static void decoration_manager_handle_get_toplevel_decoration( struct wlr_xdg_toplevel_decoration_v1 *existing; wl_list_for_each(existing, &manager->decorations, link) { - if (existing->surface == toplevel->base) { + if (existing->toplevel == toplevel) { wl_resource_post_error(manager_resource, ZXDG_TOPLEVEL_DECORATION_V1_ERROR_ALREADY_CONSTRUCTED, "xdg_toplevel already has a decoration object"); @@ -204,7 +204,7 @@ static void decoration_manager_handle_get_toplevel_decoration( return; } decoration->manager = manager; - decoration->surface = toplevel->base; + decoration->toplevel = toplevel; uint32_t version = wl_resource_get_version(manager_resource); decoration->resource = wl_resource_create(client, |