SVACE issue fix 16/131616/1
authordongsug.song <dongsug.song@samsung.com>
Fri, 12 May 2017 08:13:18 +0000 (17:13 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Tue, 30 May 2017 07:48:13 +0000 (16:48 +0900)
Change-Id: Id1d0b720d30ea03774d266b0467f9ae7c9fb356a
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
dali-csharp-binder/src/event-thread-callback-wrap.cpp

index ced564b..dc6a729 100755 (executable)
@@ -32,24 +32,30 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_EventThreadCallback(SWIG_CallbackM
   void * jresult ;
   void (*arg1)(void) = (void (*)(void)) 0 ;
   Dali::EventThreadCallback *result = 0 ;
+  Dali::CallbackBase * callbackBase = 0 ;
 
   arg1 = (void (*)(void))callbackOnMakeCallback;
+  callbackBase = (Dali::CallbackBase *)Dali::MakeCallback(arg1);
+
   {
     try {
-      result = (Dali::EventThreadCallback *)new Dali::EventThreadCallback((Dali::CallbackBase *)Dali::MakeCallback(arg1));
+      result = (Dali::EventThreadCallback *)new Dali::EventThreadCallback(callbackBase);
     } catch (std::out_of_range& e) {
       {
         delete result;
+        delete callbackBase;
         SWIG_CSharpException(SWIG_IndexError, const_cast<char*>(e.what())); return 0;
       };
     } catch (std::exception& e) {
       {
         delete result;
+        delete callbackBase;
         SWIG_CSharpException(SWIG_RuntimeError, const_cast<char*>(e.what())); return 0;
       };
     } catch (...) {
       {
         delete result;
+        delete callbackBase;
         SWIG_CSharpException(SWIG_UnknownError, "unknown error"); return 0;
       };
     }