summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2019-10-21 18:55:12 +0200
committerCarlos Garnacho <carlosg@gnome.org>2019-11-12 13:37:30 +0100
commitcc00e55513c4e9a086dba2909380312bcb9f64a9 (patch)
tree13578ae70aa90ad06b9b1f78a62b79b7931159ba
parenta14e7b441c33210ef427ef6b349e2c520837d855 (diff)
downloadmutter-cc00e55513c4e9a086dba2909380312bcb9f64a9.tar.gz
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 668be1f4bd309fedc846a0022180aef5a9e44869) https://gitlab.gnome.org/GNOME/mutter/merge_requests/873
-rw-r--r--src/backends/native/meta-kms-impl-simple.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/backends/native/meta-kms-impl-simple.c b/src/backends/native/meta-kms-impl-simple.c
index 19c4b2b33..571dccf12 100644
--- a/src/backends/native/meta-kms-impl-simple.c
+++ b/src/backends/native/meta-kms-impl-simple.c
@@ -772,12 +772,14 @@ meta_kms_impl_simple_handle_page_flip_callback (MetaKmsImpl *impl,
{
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
{
meta_kms_page_flip_data_flipped_in_impl (page_flip_data);
}
+
+ meta_kms_page_flip_data_unref (page_flip_data);
}
static void