backends: Plug MetaKmsPageFlipData leak

If the page flip is postponed, keep a ref to it, but still unref it
on the page flip callback anyways. Fix suggested by Jonas Ådahl.

(cherry-picked from 668be1f4bd)

https://gitlab.gnome.org/GNOME/mutter/merge_requests/873
This commit is contained in:
Carlos Garnacho 2019-10-21 18:55:12 +02:00
parent a14e7b441c
commit cc00e55513

View File

@ -772,12 +772,14 @@ meta_kms_impl_simple_handle_page_flip_callback (MetaKmsImpl *impl,
{ {
impl_simple->postponed_page_flip_datas = impl_simple->postponed_page_flip_datas =
g_list_append (impl_simple->postponed_page_flip_datas, g_list_append (impl_simple->postponed_page_flip_datas,
page_flip_data); meta_kms_page_flip_data_ref (page_flip_data));
} }
else else
{ {
meta_kms_page_flip_data_flipped_in_impl (page_flip_data); meta_kms_page_flip_data_flipped_in_impl (page_flip_data);
} }
meta_kms_page_flip_data_unref (page_flip_data);
} }
static void static void