[NUI] Add protected codes to avoid the crash when the IntPtr of key is 0 (#72)
authordongsug-song <35130733+dongsug-song@users.noreply.github.com>
Wed, 24 Jan 2018 11:35:38 +0000 (20:35 +0900)
committerGitHub <noreply@github.com>
Wed, 24 Jan 2018 11:35:38 +0000 (20:35 +0900)
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
src/Tizen.NUI/src/public/BaseComponents/View.cs

index 165d30d..cfbd712 100755 (executable)
@@ -410,6 +410,12 @@ namespace Tizen.NUI.BaseComponents
 
         private bool OnKeyEvent(IntPtr view, IntPtr keyEvent)
         {
+            if (keyEvent == global::System.IntPtr.Zero)
+            {
+                Tizen.Log.Error("NUI", "keyEvent should not be null!");
+                return true;
+            }
+
             KeyEventArgs e = new KeyEventArgs();
 
             bool result = false;
@@ -537,6 +543,12 @@ namespace Tizen.NUI.BaseComponents
         // Callback for View TouchSignal
         private bool OnTouch(IntPtr view, IntPtr touchData)
         {
+            if (touchData == global::System.IntPtr.Zero)
+            {
+                Tizen.Log.Error("NUI", "touchData should not be null!");
+                return true;
+            }
+
             TouchEventArgs e = new TouchEventArgs();
 
             e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
@@ -612,6 +624,12 @@ namespace Tizen.NUI.BaseComponents
         // Callback for View Hover signal
         private bool OnHoverEvent(IntPtr view, IntPtr hoverEvent)
         {
+            if (hoverEvent == global::System.IntPtr.Zero)
+            {
+                Tizen.Log.Error("NUI", "hoverEvent should not be null!");
+                return true;
+            }
+
             HoverEventArgs e = new HoverEventArgs();
 
             e.Hover = Tizen.NUI.Hover.GetHoverFromPtr(hoverEvent);
@@ -687,6 +705,12 @@ namespace Tizen.NUI.BaseComponents
         // Callback for View Wheel signal
         private bool OnWheelEvent(IntPtr view, IntPtr wheelEvent)
         {
+            if (wheelEvent == global::System.IntPtr.Zero)
+            {
+                Tizen.Log.Error("NUI", "wheelEvent should not be null!");
+                return true;
+            }
+
             WheelEventArgs e = new WheelEventArgs();
 
             e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);