[mutter] backends/kms/update: Add ability to remove result listeners
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] backends/kms/update: Add ability to remove result listeners
- Date: Tue, 25 Jan 2022 08:10:39 +0000 (UTC)
commit 4b0a10c56209bdd3109a7689bcaf92b8c4df8ca7
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date: Tue Oct 5 22:21:31 2021 +0200
backends/kms/update: Add ability to remove result listeners
We may need to remove a result listener once we've added it, and before
that it ha been processed, so add support for this.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1952>
src/backends/native/meta-kms-update.c | 22 ++++++++++++++++++++++
src/backends/native/meta-kms-update.h | 4 ++++
2 files changed, 26 insertions(+)
---
diff --git a/src/backends/native/meta-kms-update.c b/src/backends/native/meta-kms-update.c
index 98fbdb67ad..f61e740d74 100644
--- a/src/backends/native/meta-kms-update.c
+++ b/src/backends/native/meta-kms-update.c
@@ -539,6 +539,28 @@ meta_kms_update_add_result_listener (MetaKmsUpdate *update,
listener);
}
+void
+meta_kms_update_remove_result_listeners (MetaKmsUpdate *update,
+ MetaKmsResultListenerFunc func,
+ gpointer user_data)
+{
+ GList *l;
+
+ for (l = update->result_listeners; l;)
+ {
+ MetaKmsResultListener *listener = l->data;
+ GList *next = l->next;
+
+ if (listener->user_data == func && listener->user_data == user_data)
+ {
+ update->result_listeners =
+ g_list_delete_link (update->result_listeners, l);
+ }
+
+ l = next;
+ }
+}
+
GList *
meta_kms_update_take_result_listeners (MetaKmsUpdate *update)
{
diff --git a/src/backends/native/meta-kms-update.h b/src/backends/native/meta-kms-update.h
index e63b6d8711..89f4146efd 100644
--- a/src/backends/native/meta-kms-update.h
+++ b/src/backends/native/meta-kms-update.h
@@ -150,6 +150,10 @@ void meta_kms_update_add_result_listener (MetaKmsUpdate *update,
MetaKmsResultListenerFunc func,
gpointer user_data);
+void meta_kms_update_remove_result_listeners (MetaKmsUpdate *update,
+ MetaKmsResultListenerFunc func,
+ gpointer user_data);
+
static inline MetaFixed16
meta_fixed_16_from_int (int16_t d)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]