transform: Make sure the identity transform is equal to NULL

This commit is contained in:
Benjamin Otte 2020-02-21 18:25:05 +01:00
parent 608e624ecf
commit b50093d044
2 changed files with 18 additions and 2 deletions

View File

@ -1683,8 +1683,11 @@ gsk_transform_equal (GskTransform *first,
if (first == second)
return TRUE;
if (first == NULL || second == NULL)
return FALSE;
if (first == NULL)
return gsk_transform_is_identity (second);
if (second == NULL)
return gsk_transform_is_identity (first);
if (first->transform_class != second->transform_class)
return FALSE;

View File

@ -332,6 +332,19 @@ test_identity (void)
g_free (string);
}
static void
test_identity_equal (void)
{
GskTransform *id = gsk_transform_new ();
g_assert_true (gsk_transform_equal (NULL, NULL));
g_assert_true (gsk_transform_equal (id, NULL));
g_assert_true (gsk_transform_equal (NULL, id));
g_assert_true (gsk_transform_equal (id, id));
gsk_transform_unref (id);
}
static void
test_print_parse (void)
{