kms/connector: Refactor edid_equal helper out of _state_changes

No functional change intended.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4209>
This commit is contained in:
Michel Dänzer 2025-01-27 11:52:04 +01:00 committed by Marge Bot
parent 313860e2fa
commit 71603c22fb

View File

@ -895,6 +895,17 @@ meta_kms_connector_state_free (MetaKmsConnectorState *state)
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetaKmsConnectorState, G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetaKmsConnectorState,
meta_kms_connector_state_free); meta_kms_connector_state_free);
static gboolean
edid_equal (GBytes *old_edid,
GBytes *new_edid)
{
if ((old_edid && !new_edid) || !new_edid ||
!g_bytes_equal (old_edid, new_edid))
return FALSE;
return TRUE;
}
static gboolean static gboolean
kms_modes_equal (GList *modes, kms_modes_equal (GList *modes,
GList *other_modes) GList *other_modes)
@ -968,8 +979,7 @@ meta_kms_connector_state_changes (MetaKmsConnectorState *state,
if (!meta_tile_info_equal (&state->tile_info, &new_state->tile_info)) if (!meta_tile_info_equal (&state->tile_info, &new_state->tile_info))
return META_KMS_RESOURCE_CHANGE_FULL; return META_KMS_RESOURCE_CHANGE_FULL;
if ((state->edid_data && !new_state->edid_data) || !state->edid_data || if (!edid_equal (state->edid_data, new_state->edid_data))
!g_bytes_equal (state->edid_data, new_state->edid_data))
return META_KMS_RESOURCE_CHANGE_FULL; return META_KMS_RESOURCE_CHANGE_FULL;
if (!kms_modes_equal (state->modes, new_state->modes)) if (!kms_modes_equal (state->modes, new_state->modes))