sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit dd8b6f5e68b0a4c1251fc9fdec30aa145b75636f
parent f614f35e7354980bf4f0a66ca99be9b5f3a7ac90
Author: Simon Ser <contact@emersion.fr>
Date:   Mon, 14 Mar 2022 17:48:39 +0100

swaybar: remove swaybar_output.input_region

No need to keep the region around, we can immediately destroy it
after the wl_surface.set_input_region request.

Diffstat:
Minclude/swaybar/bar.h | 1-
Mswaybar/bar.c | 10+++-------
2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/include/swaybar/bar.h b/include/swaybar/bar.h @@ -58,7 +58,6 @@ struct swaybar_output { struct zxdg_output_v1 *xdg_output; struct wl_surface *surface; struct zwlr_layer_surface_v1 *layer_surface; - struct wl_region *input_region; uint32_t wl_name; struct wl_list workspaces; // swaybar_workspace::link diff --git a/swaybar/bar.c b/swaybar/bar.c @@ -51,9 +51,6 @@ static void swaybar_output_free(struct swaybar_output *output) { if (output->surface != NULL) { wl_surface_destroy(output->surface); } - if (output->input_region != NULL) { - wl_region_destroy(output->input_region); - } wl_output_destroy(output->output); destroy_buffer(&output->buffers[0]); destroy_buffer(&output->buffers[1]); @@ -113,10 +110,9 @@ static void add_layer_surface(struct swaybar_output *output) { if (overlay) { // Empty input region - output->input_region = wl_compositor_create_region(bar->compositor); - assert(output->input_region); - - wl_surface_set_input_region(output->surface, output->input_region); + struct wl_region *region = wl_compositor_create_region(bar->compositor); + wl_surface_set_input_region(output->surface, region); + wl_region_destroy(region); } zwlr_layer_surface_v1_set_anchor(output->layer_surface, config->position);