From 9da43a34200626486595854ce27a4be01d469b45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Wed, 7 Jul 2021 16:54:16 +0200 Subject: [PATCH] kms/connector: Add 'for-lease' getter This is intended to be used to filter out what connectors will be available for lease, i.e. non-desktop ones. Co-authored-by: Sebastian Wick Part-of: --- src/backends/native/meta-gpu-kms.c | 7 ++++--- src/backends/native/meta-kms-connector.c | 6 ++++++ src/backends/native/meta-kms-connector.h | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/backends/native/meta-gpu-kms.c b/src/backends/native/meta-gpu-kms.c index 3e0ad99c5..3b4356ca6 100644 --- a/src/backends/native/meta-gpu-kms.c +++ b/src/backends/native/meta-gpu-kms.c @@ -348,13 +348,14 @@ init_outputs (MetaGpuKms *gpu_kms) for (l = meta_kms_device_get_connectors (gpu_kms->kms_device); l; l = l->next) { MetaKmsConnector *kms_connector = l->data; - const MetaKmsConnectorState *connector_state; MetaOutputKms *output_kms; MetaOutput *old_output; GError *error = NULL; - connector_state = meta_kms_connector_get_current_state (kms_connector); - if (!connector_state || connector_state->non_desktop) + if (!meta_kms_connector_get_current_state (kms_connector)) + continue; + + if (meta_kms_connector_is_for_lease (kms_connector)) continue; old_output = diff --git a/src/backends/native/meta-kms-connector.c b/src/backends/native/meta-kms-connector.c index 8acc58f26..590b5869a 100644 --- a/src/backends/native/meta-kms-connector.c +++ b/src/backends/native/meta-kms-connector.c @@ -164,6 +164,12 @@ meta_kms_connector_get_current_state (MetaKmsConnector *connector) return connector->current_state; } +gboolean +meta_kms_connector_is_for_lease (MetaKmsConnector *connector) +{ + return connector->current_state && connector->current_state->non_desktop; +} + static gboolean has_privacy_screen_software_toggle (MetaKmsConnector *connector) { diff --git a/src/backends/native/meta-kms-connector.h b/src/backends/native/meta-kms-connector.h index dcf303bca..f54ef16b9 100644 --- a/src/backends/native/meta-kms-connector.h +++ b/src/backends/native/meta-kms-connector.h @@ -101,3 +101,5 @@ MetaKmsMode * meta_kms_connector_get_preferred_mode (MetaKmsConnector *connector META_EXPORT_TEST const MetaKmsConnectorState * meta_kms_connector_get_current_state (MetaKmsConnector *connector); + +gboolean meta_kms_connector_is_for_lease (MetaKmsConnector *connector);