[Tizen] Fix imfmanager crash issue 17/140617/7 accepted/tizen/4.0/unified/20170816.010518 accepted/tizen/4.0/unified/20170816.014238 accepted/tizen/unified/20170727.191533 submit/tizen/20170726.063443 submit/tizen/20170727.071110 submit/tizen_4.0/20170811.094300 submit/tizen_4.0/20170814.115522 submit/tizen_4.0_unified/20170814.115522
authorxb.teng <xb.teng@samsung.com>
Tue, 25 Jul 2017 15:23:32 +0000 (23:23 +0800)
committerdongsug.song <dongsug.song@samsung.com>
Wed, 26 Jul 2017 00:53:57 +0000 (09:53 +0900)
Change-Id: Ia63d67fdb7971f990e01af40ee71a9cacf229c15

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

index fad102a..bf1d1cd 100755 (executable)
@@ -1591,13 +1591,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);
@@ -1618,12 +1646,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);
@@ -1643,7 +1674,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