From 12bec9b22fc4a07f6f00e6bf9ead1da4fe044f39 Mon Sep 17 00:00:00 2001 From: SvyatoslavScherbina Date: Mon, 12 Feb 2018 18:59:31 +0300 Subject: [PATCH] Fix handling nil result of NSSet.member for Kotlin Set (#1314) --- runtime/src/main/cpp/ObjCExportCollections.mm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/runtime/src/main/cpp/ObjCExportCollections.mm b/runtime/src/main/cpp/ObjCExportCollections.mm index 0653aae65f2..9ef0514bd5f 100644 --- a/runtime/src/main/cpp/ObjCExportCollections.mm +++ b/runtime/src/main/cpp/ObjCExportCollections.mm @@ -294,7 +294,10 @@ static inline id KSet_getElement(KRef set, id object) { ObjHolder requestHolder, resultHolder; KRef request = Kotlin_ObjCExport_refFromObjC(object, requestHolder.slot()); KRef result = Kotlin_Set_getElement(set, request, resultHolder.slot()); - return refToObjCOrNSNull(result); + + // Note: if result is nullptr, then it can't be a null element of the set, because request != nullptr; + // so map nullptr to nullptr: + return Kotlin_ObjCExport_refToObjC(result); } }