[NUI] depense code for crash of GetProperty()'s null parameter 10/164210/1
authordongsug.song <dongsug.song@samsung.com>
Mon, 18 Dec 2017 05:38:41 +0000 (14:38 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Mon, 18 Dec 2017 05:38:41 +0000 (14:38 +0900)
Change-Id: I236da0a3a42e1d38cb7201e596f99b42e348a271
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
src/Tizen.NUI/src/internal/Object.cs

index b197472..2d64e4c 100755 (executable)
@@ -27,6 +27,11 @@ namespace Tizen.NUI
     {
         public static PropertyValue GetProperty(global::System.Runtime.InteropServices.HandleRef handle, int index)
         {
+            if(handle.Handle == System.IntPtr.Zero)
+            {
+                throw new System.InvalidOperationException("Error! NUI's native dali object is already disposed. OR the native dali object handle of NUI becomes null!");
+            }
+
             PropertyValue ret = new PropertyValue(NDalicPINVOKE.Handle_GetProperty(handle, index), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
@@ -34,6 +39,11 @@ namespace Tizen.NUI
 
         public static void SetProperty(global::System.Runtime.InteropServices.HandleRef handle, int index, PropertyValue propertyValue)
         {
+            if (handle.Handle == System.IntPtr.Zero)
+            {
+                throw new System.InvalidOperationException("Error! NUI's native dali object is already disposed. OR the native dali object handle of NUI becomes null!");
+            }
+
             NDalicPINVOKE.Handle_SetProperty(handle, index, PropertyValue.getCPtr(propertyValue));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }