diff ios/dw.m @ 2813:9c9b680f7772

Mac/iOS: Fix a memory leak when calling API functions that return. This affects iOS and newer versions of MacOS that require main thread.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 28 Jul 2022 09:54:23 +0000
parents 975df4680ff7
children 5000a8a43825
line wrap: on
line diff
--- a/ios/dw.m	Wed Jul 27 09:56:26 2022 +0000
+++ b/ios/dw.m	Thu Jul 28 09:54:23 2022 +0000
@@ -188,9 +188,9 @@
         void *tmp = [_args pointerAtIndex:[_args count]-1]; \
         rettype myreturn = *((rettype *)tmp); \
         free(tmp); \
-        return myreturn; } \
-    [_args release]; \
-    DW_LOCAL_POOL_OUT; } \
+        [_args release]; \
+        DW_LOCAL_POOL_OUT; \
+        return myreturn; }} \
 void _##func(NSPointerArray *_args) {
 #define DW_FUNCTION_RETURN_THIS(_retvar) { void *_myreturn = malloc(sizeof(_retvar)); \
     memcpy(_myreturn, (void *)&_retvar, sizeof(_retvar)); \