Fix mis-implementation for try_catch macro 54/320954/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Tue, 26 Nov 2024 05:16:56 +0000 (14:16 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Tue, 26 Nov 2024 05:16:56 +0000 (14:16 +0900)
try_catch macro used void(void) API internally. So the value
inside of lambda function didnt return value correctly.

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

index b179893a1caac56d74e1189249c082a39ed58fd0..aa14b342f7b51d8026352a21dd33ee91ac2c45d4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -72,10 +72,11 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_Disconnect(void *arg
 }
 
 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_new() {
+  StringToVoidSignal* ret = nullptr;
   try_catch(([&]() {
-      return new StringToVoidSignal();
+      ret = new StringToVoidSignal();
   }));
-  return nullptr;
+  return ret;
 }
 
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_delete(void *arg1) {
@@ -161,10 +162,11 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_Emit(void *arg1
 }
 
 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_new() {
+  GesturePairSignal* ret = nullptr;
   try_catch(([&]() {
-      return new GesturePairSignal();
+      ret = new GesturePairSignal();
   }));
-  return nullptr;
+  return ret;
 }
 
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_delete(void *arg1) {