[mutter] kms/impl-device: Clear fd source on prepare-shutdown
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] kms/impl-device: Clear fd source on prepare-shutdown
- Date: Tue, 25 Jan 2022 16:25:06 +0000 (UTC)
commit cd517216ae3c7a1f35d819751397a4ea82c876bb
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Fri Jun 11 19:42:41 2021 +0200
kms/impl-device: Clear fd source on prepare-shutdown
This ensures we won't receive any untimely page flip callbacks during
later phases of shutting down.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2159>
src/backends/native/meta-kms-impl-device.c | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
---
diff --git a/src/backends/native/meta-kms-impl-device.c b/src/backends/native/meta-kms-impl-device.c
index 2f7922de94..fe3adbb12e 100644
--- a/src/backends/native/meta-kms-impl-device.c
+++ b/src/backends/native/meta-kms-impl-device.c
@@ -852,6 +852,19 @@ meta_kms_impl_device_hold_fd (MetaKmsImplDevice *impl_device)
priv->fd_hold_count++;
}
+static void
+clear_fd_source (MetaKmsImplDevice *impl_device)
+{
+ MetaKmsImplDevicePrivate *priv =
+ meta_kms_impl_device_get_instance_private (impl_device);
+
+ if (!priv->fd_source)
+ return;
+
+ g_source_destroy (priv->fd_source);
+ g_clear_pointer (&priv->fd_source, g_source_unref);
+}
+
void
meta_kms_impl_device_unhold_fd (MetaKmsImplDevice *impl_device)
{
@@ -867,12 +880,7 @@ meta_kms_impl_device_unhold_fd (MetaKmsImplDevice *impl_device)
if (priv->fd_hold_count == 0)
{
g_clear_pointer (&priv->device_file, meta_device_file_release);
-
- if (priv->fd_source)
- {
- g_source_destroy (priv->fd_source);
- g_clear_pointer (&priv->fd_source, g_source_unref);
- }
+ clear_fd_source (impl_device);
}
}
@@ -999,6 +1007,8 @@ meta_kms_impl_device_prepare_shutdown (MetaKmsImplDevice *impl_device)
if (klass->prepare_shutdown)
klass->prepare_shutdown (impl_device);
+
+ clear_fd_source (impl_device);
}
static gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]