summaryrefslogtreecommitdiff
path: root/src/backends/native/meta-gpu-kms.c
diff options
context:
space:
mode:
authorJonas Ã…dahl <jadahl@gmail.com>2020-02-26 16:47:03 +0100
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2020-06-10 18:54:51 +0000
commit4a4f2d8264d0f961a8060db38a6d0f51eaefbd28 (patch)
tree4107c5e569f59e269b7c6ca41571013d05d70d82 /src/backends/native/meta-gpu-kms.c
parent4920b5064d2240c2d202deeb92a8ad09780a5799 (diff)
downloadmutter-4a4f2d8264d0f961a8060db38a6d0f51eaefbd28.tar.gz
output: Make implementations inherit MetaOutput
Instead of the home baked "inheritance" system, using a gpointer and a GDestroyNotify function to keep the what effectively is sub type details, make MetaOutput an abstract derivable type, and make the implementations inherit it. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1287
Diffstat (limited to 'src/backends/native/meta-gpu-kms.c')
-rw-r--r--src/backends/native/meta-gpu-kms.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/backends/native/meta-gpu-kms.c b/src/backends/native/meta-gpu-kms.c
index 6b79a7a54..eade7092b 100644
--- a/src/backends/native/meta-gpu-kms.c
+++ b/src/backends/native/meta-gpu-kms.c
@@ -238,7 +238,8 @@ meta_gpu_kms_set_power_save_mode (MetaGpuKms *gpu_kms,
{
MetaOutput *output = l->data;
- meta_output_kms_set_power_save_mode (output, state, kms_update);
+ meta_output_kms_set_power_save_mode (META_OUTPUT_KMS (output),
+ state, kms_update);
}
}
@@ -367,7 +368,8 @@ find_output_by_connector_id (GList *outputs,
{
MetaOutput *output = l->data;
- if (meta_output_kms_get_connector_id (output) == connector_id)
+ if (meta_output_kms_get_connector_id (META_OUTPUT_KMS (output)) ==
+ connector_id)
return output;
}
@@ -391,7 +393,8 @@ setup_output_clones (MetaGpu *gpu)
if (other_output == output)
continue;
- if (meta_output_kms_can_clone (output, other_output))
+ if (meta_output_kms_can_clone (META_OUTPUT_KMS (output),
+ META_OUTPUT_KMS (other_output)))
meta_output_add_possible_clone (output, other_output);
}
}
@@ -515,7 +518,7 @@ init_outputs (MetaGpuKms *gpu_kms)
{
MetaKmsConnector *kms_connector = l->data;
const MetaKmsConnectorState *connector_state;
- MetaOutput *output;
+ MetaOutputKms *output_kms;
MetaOutput *old_output;
GError *error = NULL;
@@ -526,18 +529,18 @@ init_outputs (MetaGpuKms *gpu_kms)
old_output =
find_output_by_connector_id (old_outputs,
meta_kms_connector_get_id (kms_connector));
- output = meta_create_kms_output (gpu_kms,
- kms_connector,
- old_output,
- &error);
- if (!output)
+ output_kms = meta_output_kms_new (gpu_kms,
+ kms_connector,
+ old_output,
+ &error);
+ if (!output_kms)
{
g_warning ("Failed to create KMS output: %s", error->message);
g_error_free (error);
}
else
{
- outputs = g_list_prepend (outputs, output);
+ outputs = g_list_prepend (outputs, output_kms);
}
}