Fix replacing an existing value in a weak objects map table.

This commit is contained in:
Frederik Seiffert 2020-06-05 11:39:32 +02:00
parent b05c6d65bf
commit 71f6cde4bd
2 changed files with 8 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2020-06-05 Frederik Seiffert <frederik@algoriddim.com>
* Tests/base/NSMapTable/weakObjects.m,
* Source/NSConcreteMapTable.m:
Add test for and fix replacing an existing value in a weak objects map
table.
2020-05-25 Frederik Seiffert <frederik@algoriddim.com>
* Source/NSUserDefaults.m:

View file

@ -1392,7 +1392,7 @@ const NSMapTableValueCallBacks NSOwnedPointerMapValueCallBacks =
if (GSI_MAP_READ_VALUE(self, &node->value).obj != anObject)
{
GSI_MAP_RELEASE_VAL(self, node->value);
node->value.obj = anObject;
GSI_MAP_WRITE_VAL(self, &node->value, (GSIMapVal)anObject);
GSI_MAP_RETAIN_VAL(self, node->value);
version++;
}