Fix == operator overriding bug 37/127737/2
authordongsug.song <dongsug.song@samsung.com>
Fri, 28 Apr 2017 12:34:01 +0000 (21:34 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Fri, 28 Apr 2017 12:36:00 +0000 (21:36 +0900)
Change-Id: Id25fa18c89c9e2dda8a2c0f04b6178173beb5c6f
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
Tizen.NUI/src/internal/BaseHandle.cs

index 82b3f4f..8f77f37 100755 (executable)
@@ -95,8 +95,19 @@ public class BaseHandle : global::System.IDisposable {
       // drop into native code to see if both handles point to the same body
       return x.IsEqual( y) ;
     }
-    return false;
 
+    if (BaseHandle.ReferenceEquals(x, null) && !BaseHandle.ReferenceEquals(y, null))
+    {
+      if (y.HasBody()) return false;
+      else return true;
+    }
+    if (!BaseHandle.ReferenceEquals(x, null) && BaseHandle.ReferenceEquals(y, null))
+    {
+      if (x.HasBody()) return false;
+      else return true;
+    }
+
+    return false;
   }
 
   // Inequality operator. Returns Null if either operand is Null
@@ -239,3 +250,4 @@ public class BaseHandle : global::System.IDisposable {
 }
 
 }
+