[Tizen] Create another native handle to make sure Registry.Unregister works fine.
authordongsug.song <dongsug.song@samsung.com>
Tue, 25 Jul 2017 02:02:57 +0000 (11:02 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Tue, 25 Jul 2017 02:03:08 +0000 (11:03 +0900)
This reverts commit b78b14c77ec08f801290e3a8e92c5908f0423198.

Change-Id: Ifb1530802e151b041d4a0f770ef3a37c009f9f71

src/Tizen.NUI/src/public/BaseHandle.cs

index e0d7ecc..69d904e 100755 (executable)
@@ -43,6 +43,18 @@ namespace Tizen.NUI
             _registerMe = swigCMemOwn = true;
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
 
             _registerMe = swigCMemOwn = true;
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
 
+            // using copy constructor to create another native handle so Registry.Unregister works fine.
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, NDalicPINVOKE.new_BaseHandle__SWIG_2(swigCPtr));
+
+            // Register this instance of BaseHandle in the registry.
+            Registry.Register(this);
+        }
+
+        internal BaseHandle(global::System.IntPtr cPtr)
+        {
+            swigCMemOwn = true;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+
             // Register this instance of BaseHandle in the registry.
             Registry.Register(this);
         }
             // Register this instance of BaseHandle in the registry.
             Registry.Register(this);
         }