Use strdup instead of SWIGRegisterStringCallback_NDalic called 51/306351/2
authorEunki Hong <eunkiki.hong@samsung.com>
Tue, 20 Feb 2024 14:04:48 +0000 (23:04 +0900)
committerEunki Hong <eunkiki.hong@samsung.com>
Tue, 20 Feb 2024 15:09:23 +0000 (00:09 +0900)
Let we use SWIG_csharp_string_callback as strdup, instead of SWIGRegisterStringCallback_NDalic registered callback.

duplicated string's reference will be released automatically at C# managed memory side. So strdup has
no problem for natural cases.

Change-Id: I0654ccee6c02cdf6fd518498e8a71a0ac9f124eb
Signed-off-by: Eunki Hong <eunkiki.hong@samsung.com>
dali-csharp-binder/common/dali-wrap.cpp

index 85040d5..64b2706 100644 (file)
@@ -273,14 +273,14 @@ SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_NDalic(
 
 /* Callback for returning strings to C# without leaking memory */
 typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
-SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL;
+SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = strdup; ///< Use strdup instead of SWIGRegisterStringCallback_NDalic.
 
 
 #ifdef __cplusplus
 extern "C"
 #endif
 SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_NDalic(SWIG_CSharpStringHelperCallback callback) {
-  SWIG_csharp_string_callback = callback;
+  // Let we don't use registered string callback. Instead, use strdup. Since 2024-02-21.
 }