[NUI] Change all CallingConvention to `Cdecl`
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / Transition / TransitionSet.cs
index 1663a5a..0750567 100755 (executable)
@@ -46,7 +46,7 @@ namespace Tizen.NUI
             finishedCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(transitionSetFinishedEventCallback);
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
         private delegate void TransitionSetFinishedEventCallbackType(IntPtr data);
 
         private event EventHandler transitionSetFinishedEventHandler;
@@ -101,8 +101,19 @@ namespace Tizen.NUI
 
         public void AddTransition(TransitionItemBase transition)
         {
-            Interop.TransitionSet.AddTransition(SwigCPtr, transition.SwigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (transition is TransitionGroupItem)
+            {
+                TransitionGroupItem transitionGroup = transition as TransitionGroupItem;
+                for (int index = 0; index < transitionGroup.TransitionCount; ++index)
+                {
+                    this.AddTransition(transitionGroup.GetTransitionAt(index));
+                }
+            }
+            else
+            {
+                Interop.TransitionSet.AddTransition(SwigCPtr, transition.SwigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
         }
 
         public TransitionItemBase GetTransitionAt(uint index)
@@ -111,7 +122,7 @@ namespace Tizen.NUI
             IntPtr cPtr = Interop.TransitionSet.GetTransitionAt(SwigCPtr, index);
             HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
             TransitionItemBase ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as TransitionItemBase;
-            if (cPtr != null && ret == null)
+            if (cPtr != IntPtr.Zero && ret == null)
             {
                 ret = new TransitionItemBase(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending)
@@ -186,9 +197,9 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
         {
-            if (swigCPtr.Handle == IntPtr.Zero || this.HasBody() == false)
+            if (swigCPtr.Handle == IntPtr.Zero || Disposed)
             {
-                Tizen.Log.Fatal("NUI", $"[ERROR] TransitionSet ReleaseSwigCPtr()! IntPtr=0x{swigCPtr.Handle:X} HasBody={this.HasBody()}");
+                Tizen.Log.Fatal("NUI", $"[ERROR] TransitionSet ReleaseSwigCPtr()! IntPtr=0x{swigCPtr.Handle:X} Disposed={Disposed}");
                 return;
             }
             Interop.TransitionSet.Delete(swigCPtr);