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>
This commit is contained in:
parent
fd1f6094c9
commit
4b0a10c562
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user