[Tizen] Fix imfmanager crash issue 90/153390/1
authorJinho, Lee <jeano.lee@samsung.com>
Thu, 28 Sep 2017 06:03:15 +0000 (15:03 +0900)
committerJinho, Lee <jeano.lee@samsung.com>
Thu, 28 Sep 2017 06:03:17 +0000 (15:03 +0900)
This reverts commit dfb2db8d18819dc5000f56e45b3f0d9c6946c150.

Change-Id: I81917c4f51cdea8bfe1f981a17b2c722288f6555

dali-csharp-binder/src/imf-manager.cpp
packaging/dali-csharp-binder.spec

index da4920e..2ed8776 100755 (executable)
@@ -1587,13 +1587,41 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_ImfEventSignalType_GetConnectio
   return jresult;
 }
 
+typedef Dali::ImfManager::ImfCallbackData* (SWIGSTDCALL* SWIG_CallbackEventReceived)(Dali::ImfManager *, Dali::ImfManager::ImfEventData *);
+SWIG_CallbackEventReceived swig_callbackOnEventReceived;
+
+Dali::ImfManager::ImfCallbackData OnEventReceivedCallback(Dali::ImfManager imfManager, Dali::ImfManager::ImfEventData imfEventData)
+{
+    Dali::ImfManager::ImfCallbackData *imfCallbackDataP;
+    Dali::ImfManager::ImfCallbackData imfCallbackData;
+    Dali::ImfManager *imfManagerP = NULL;
+    Dali::ImfManager::ImfEventData *imfEventDataP = NULL;
+
+    if (imfManager)
+    {
+      imfManagerP = (Dali::ImfManager *)&imfManager;
+    }
+
+    imfEventDataP = (Dali::ImfManager::ImfEventData *)&imfEventData;
+
+    imfCallbackDataP = (Dali::ImfManager::ImfCallbackData *)swig_callbackOnEventReceived(imfManagerP, imfEventDataP);
+    if (imfCallbackDataP)
+    {
+      imfCallbackData = *imfCallbackDataP;
+    }
+
+    return imfCallbackData;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfEventSignalType_Connect(void * jarg1, SWIG_CallbackEventReceived callbackOnEventReceived) {
+
+  swig_callbackOnEventReceived = callbackOnEventReceived;
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfEventSignalType_Connect(void * jarg1, void * jarg2) {
   Dali::Signal< Dali::ImfManager::ImfCallbackData (Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) > *arg1 = (Dali::Signal< Dali::ImfManager::ImfCallbackData (Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) > *) 0 ;
   Dali::ImfManager::ImfCallbackData (*arg2)(Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) = (Dali::ImfManager::ImfCallbackData (*)(Dali::ImfManager &,Dali::ImfManager::ImfEventData const &)) 0 ;
 
   arg1 = (Dali::Signal< Dali::ImfManager::ImfCallbackData (Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) > *)jarg1;
-  arg2 = (Dali::ImfManager::ImfCallbackData (*)(Dali::ImfManager &,Dali::ImfManager::ImfEventData const &))jarg2;
+  arg2 = (Dali::ImfManager::ImfCallbackData (*)(Dali::ImfManager &,Dali::ImfManager::ImfEventData const &))OnEventReceivedCallback;
   {
     try {
       Dali_Signal_Sl_Dali_ImfManager_ImfCallbackData_Sp_Dali_ImfManager_SA__Sc_Dali_ImfManager_ImfEventData_SS_const_SA__SP__Sg__Connect(arg1,arg2);
@@ -1614,12 +1642,15 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfEventSignalType_Connect(void * jarg1,
 }
 
 
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfEventSignalType_Disconnect(void * jarg1, void * jarg2) {
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfEventSignalType_Disconnect(void * jarg1, SWIG_CallbackEventReceived callbackOnEventReceived) {
+
+  swig_callbackOnEventReceived = callbackOnEventReceived;
+
   Dali::Signal< Dali::ImfManager::ImfCallbackData (Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) > *arg1 = (Dali::Signal< Dali::ImfManager::ImfCallbackData (Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) > *) 0 ;
   Dali::ImfManager::ImfCallbackData (*arg2)(Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) = (Dali::ImfManager::ImfCallbackData (*)(Dali::ImfManager &,Dali::ImfManager::ImfEventData const &)) 0 ;
 
   arg1 = (Dali::Signal< Dali::ImfManager::ImfCallbackData (Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) > *)jarg1;
-  arg2 = (Dali::ImfManager::ImfCallbackData (*)(Dali::ImfManager &,Dali::ImfManager::ImfEventData const &))jarg2;
+  arg2 = (Dali::ImfManager::ImfCallbackData (*)(Dali::ImfManager &,Dali::ImfManager::ImfEventData const &))OnEventReceivedCallback;
   {
     try {
       Dali_Signal_Sl_Dali_ImfManager_ImfCallbackData_Sp_Dali_ImfManager_SA__Sc_Dali_ImfManager_ImfEventData_SS_const_SA__SP__Sg__Disconnect(arg1,arg2);
@@ -1639,7 +1670,6 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ImfEventSignalType_Disconnect(void * jar
   }
 }
 
-
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_ImfEventSignalType_Emit(void * jarg1, void * jarg2, void * jarg3) {
   void * jresult ;
   Dali::Signal< Dali::ImfManager::ImfCallbackData (Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) > *arg1 = (Dali::Signal< Dali::ImfManager::ImfCallbackData (Dali::ImfManager &,Dali::ImfManager::ImfEventData const &) > *) 0 ;
index 13bab42..b0a6ffd 100755 (executable)
@@ -1,6 +1,6 @@
 
 Name: dali-csharp-binder
-Version: 1.2.46
+Version: 1.2.49
 Release: 1
 Summary: build dali csharp binder
 License: Apache-2.0 and BSD-3-Clause and MIT