Mercurial > dwindows
changeset 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 | 723b79981427 |
children | 1b33d03568c4 |
files | ios/dw.m mac/dw.m |
diffstat | 2 files changed, 6 insertions(+), 6 deletions(-) [+] |
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)); \
--- a/mac/dw.m Wed Jul 27 09:56:26 2022 +0000 +++ b/mac/dw.m Thu Jul 28 09:54:23 2022 +0000 @@ -335,9 +335,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)); \