From d3a636dfb8991b194a3ae1df99179032173d3883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20G=C3=B3mez?= Date: Wed, 8 Mar 2023 17:36:34 -0500 Subject: [PATCH] libweston/input: Remove redundant surface destroy listener in constraints MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently, the surface destroy listener in pointer constraints is redundant, since surface destruction already handles pointer constraints destruction (see libweston/compositor.c:weston_surface_unref()). Signed-off-by: Sergio Gómez (cherry picked from commit 64da736d37a7df8b3bd6fd43746ac513bae72748) --- include/libweston/libweston.h | 1 - libweston/input.c | 17 ----------------- 2 files changed, 18 deletions(-) diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h index d99dc763..998cf9a7 100644 --- a/include/libweston/libweston.h +++ b/include/libweston/libweston.h @@ -1441,7 +1441,6 @@ struct weston_pointer_constraint { bool hint_is_pending; struct wl_listener pointer_destroy_listener; - struct wl_listener surface_destroy_listener; struct wl_listener surface_commit_listener; struct wl_listener surface_activate_listener; }; diff --git a/libweston/input.c b/libweston/input.c index 6fb4bed3..eb9bea44 100644 --- a/libweston/input.c +++ b/libweston/input.c @@ -3655,8 +3655,6 @@ enable_pointer_constraint(struct weston_pointer_constraint *constraint, constraint->view = view; pointer_constraint_notify_activated(constraint); weston_pointer_start_grab(constraint->pointer, &constraint->grab); - wl_list_remove(&constraint->surface_destroy_listener.link); - wl_list_init(&constraint->surface_destroy_listener.link); } static bool @@ -3680,7 +3678,6 @@ weston_pointer_constraint_destroy(struct weston_pointer_constraint *constraint) weston_pointer_constraint_disable(constraint); wl_list_remove(&constraint->pointer_destroy_listener.link); - wl_list_remove(&constraint->surface_destroy_listener.link); wl_list_remove(&constraint->surface_commit_listener.link); wl_list_remove(&constraint->surface_activate_listener.link); @@ -3876,16 +3873,6 @@ pointer_constraint_pointer_destroyed(struct wl_listener *listener, void *data) weston_pointer_constraint_destroy(constraint); } -static void -pointer_constraint_surface_destroyed(struct wl_listener *listener, void *data) -{ - struct weston_pointer_constraint *constraint = - container_of(listener, struct weston_pointer_constraint, - surface_destroy_listener); - - weston_pointer_constraint_destroy(constraint); -} - static void pointer_constraint_surface_committed(struct wl_listener *listener, void *data) { @@ -3947,8 +3934,6 @@ weston_pointer_constraint_create(struct weston_surface *surface, constraint->surface_activate_listener.notify = pointer_constraint_surface_activate; - constraint->surface_destroy_listener.notify = - pointer_constraint_surface_destroyed; constraint->surface_commit_listener.notify = pointer_constraint_surface_committed; constraint->pointer_destroy_listener.notify = @@ -3958,8 +3943,6 @@ weston_pointer_constraint_create(struct weston_surface *surface, &constraint->surface_activate_listener); wl_signal_add(&pointer->destroy_signal, &constraint->pointer_destroy_listener); - wl_signal_add(&surface->destroy_signal, - &constraint->surface_destroy_listener); wl_signal_add(&surface->commit_signal, &constraint->surface_commit_listener);