mirror of
https://github.com/brl/mutter.git
synced 2025-02-17 21:54:10 +00:00
kms/impl-simple: Add helper for dispatching page flip datas
Instead of a invoke helper, and a clear helper, use a single dispatch helper that does both. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1822>
This commit is contained in:
parent
c29f8c8b73
commit
4dec1f5ddf
@ -751,15 +751,11 @@ schedule_retry_page_flip (MetaKmsImplDeviceSimple *impl_device_simple,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
invoke_page_flip_datas (GList *page_flip_datas,
|
dispatch_page_flip_datas (GList **page_flip_datas,
|
||||||
MetaPageFlipDataFeedbackFunc func)
|
GFunc func,
|
||||||
{
|
gpointer user_data)
|
||||||
g_list_foreach (page_flip_datas, (GFunc) func, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
clear_page_flip_datas (GList **page_flip_datas)
|
|
||||||
{
|
{
|
||||||
|
g_list_foreach (*page_flip_datas, func, user_data);
|
||||||
g_clear_pointer (page_flip_datas, g_list_free);
|
g_clear_pointer (page_flip_datas, g_list_free);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -778,9 +774,9 @@ mode_set_fallback_feedback_idle (gpointer user_data)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
invoke_page_flip_datas (impl_device_simple->mode_set_fallback_page_flip_datas,
|
dispatch_page_flip_datas (&impl_device_simple->mode_set_fallback_page_flip_datas,
|
||||||
meta_kms_page_flip_data_mode_set_fallback_in_impl);
|
(GFunc) meta_kms_page_flip_data_mode_set_fallback_in_impl,
|
||||||
clear_page_flip_datas (&impl_device_simple->mode_set_fallback_page_flip_datas);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
return G_SOURCE_REMOVE;
|
return G_SOURCE_REMOVE;
|
||||||
@ -1413,13 +1409,12 @@ err:
|
|||||||
static void
|
static void
|
||||||
flush_postponed_page_flip_datas (MetaKmsImplDeviceSimple *impl_device_simple)
|
flush_postponed_page_flip_datas (MetaKmsImplDeviceSimple *impl_device_simple)
|
||||||
{
|
{
|
||||||
invoke_page_flip_datas (impl_device_simple->postponed_page_flip_datas,
|
dispatch_page_flip_datas (&impl_device_simple->postponed_page_flip_datas,
|
||||||
meta_kms_page_flip_data_flipped_in_impl);
|
(GFunc) meta_kms_page_flip_data_flipped_in_impl,
|
||||||
clear_page_flip_datas (&impl_device_simple->postponed_page_flip_datas);
|
NULL);
|
||||||
|
dispatch_page_flip_datas (&impl_device_simple->postponed_mode_set_fallback_datas,
|
||||||
invoke_page_flip_datas (impl_device_simple->postponed_mode_set_fallback_datas,
|
(GFunc) meta_kms_page_flip_data_mode_set_fallback_in_impl,
|
||||||
meta_kms_page_flip_data_mode_set_fallback_in_impl);
|
NULL);
|
||||||
clear_page_flip_datas (&impl_device_simple->postponed_mode_set_fallback_datas);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user