Fix the crash while disposing C# Animation object
[platform/core/uifw/dali-csharp-binder.git] / dali-csharp-binder / src / view-wrapper-impl-wrap.cpp
index 1c9aba0..e38a1f2 100755 (executable)
@@ -20,6 +20,7 @@
 
 // INTERNAL INCLUDES
 #include <dali-toolkit/devel-api/visual-factory/visual-base.h>
+#include <dali/devel-api/events/touch-data-devel.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -78,7 +79,7 @@ void SwigDirector_ViewWrapperImpl::OnSizeSet(Dali::Vector3 const &targetSize) {
 }
 
 void SwigDirector_ViewWrapperImpl::OnSizeAnimation(Dali::Animation &animation, Dali::Vector3 const &targetSize) {
-  swig_callbackOnSizeAnimation(&animation, (Dali::Vector3 *) &targetSize);
+  swig_callbackOnSizeAnimation(new Dali::Animation(animation), (Dali::Vector3 *) &targetSize);
 
   Dali::Toolkit::Internal::Control::OnSizeAnimation(animation,targetSize);
 }
@@ -91,7 +92,8 @@ bool SwigDirector_ViewWrapperImpl::OnTouchEvent(Dali::TouchEvent const &event) {
   if (!swig_callbackOnTouchEvent) {
     return Dali::Toolkit::Internal::Control::OnTouchEvent(event);
   } else {
-    jarg0 = (Dali::TouchEvent *) &event;
+    Dali::TouchData data = Dali::DevelTouchData::Convert(event);
+    jarg0 = (Dali::TouchData *) &data;
     jresult = (unsigned int) swig_callbackOnTouchEvent(jarg0);
     c_result = jresult ? true : false;
   }