Try to use a mixed form to access weak pointers.

This commit is contained in:
fredkiefer 2019-12-15 14:18:00 +01:00
parent d1cf30dd9f
commit 38a965819e
2 changed files with 7 additions and 3 deletions

View file

@ -627,7 +627,9 @@ NSNextHashEnumeratorItem(NSHashEnumerator *enumerator)
}
else
{
return n->key.ptr;
NSConcreteHashTable *map = enumerator->map;
return GSI_MAP_READ_KEY(map, &n->key).ptr;
}
}
else if (enumerator->node != 0) // Got an enumerator object

View file

@ -882,9 +882,11 @@ NSNextMapEnumeratorPair(NSMapEnumerator *enumerator,
}
else
{
NSConcreteMapTable *map = enumerator->map;
if (key != 0)
{
*key = n->key.ptr;
*key = GSI_MAP_READ_KEY(map, &n->key).ptr;
}
else
{
@ -893,7 +895,7 @@ NSNextMapEnumeratorPair(NSMapEnumerator *enumerator,
if (value != 0)
{
*value = n->value.ptr;
*value = GSI_MAP_READ_VALUE(map, &n->value).ptr;
}
else
{