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 <sebastian.wick@redhat.com>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3746>
This commit is contained in:
Jonas Ådahl 2021-07-07 16:54:16 +02:00 committed by Marge Bot
parent 9e6f8a250f
commit 9da43a3420
3 changed files with 12 additions and 3 deletions

View File

@ -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 =

View File

@ -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)
{

View File

@ -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);