[Tizen] Use strdup instead of SWIGRegisterStringCallback_NDalic called 89/306489/1 accepted/tizen/7.0/unified/20240227.131519
authorEunki, Hong <eunkiki.hong@samsung.com>
Thu, 22 Feb 2024 05:30:17 +0000 (14:30 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Thu, 22 Feb 2024 05:30:17 +0000 (14:30 +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: I3611d4d8a94fa353ac19c14b4156bacf13f1fd30
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali-csharp-binder/src/dali-wrap.cpp

index b2edc4d..4ff70cb 100644 (file)
@@ -228,7 +228,7 @@ 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.
 
 // keep argWidgetCs and argWidgetV so they're always available to DALi
 int argWidgetC = 1;
@@ -238,7 +238,7 @@ char **argWidgetV = NULL;
 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.
 }