From 00fe8fa1853cc7bdbed42fdd6a7d1e14bdc7ca02 Mon Sep 17 00:00:00 2001 From: Seungkeun Lee Date: Wed, 15 Nov 2017 10:38:00 +0900 Subject: [PATCH] [ElmSharp] Fix KeyUp/KeyDown event handler priority order - Didn't register handler if not using the KeyUp / KeyDown event - Defer event handler registering - It makes possible to determine the event delivery order. Change-Id: I08a379c601ce3bbcf19655255ec471a55153a7b8 --- src/ElmSharp/ElmSharp/EvasObject.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) mode change 100755 => 100644 src/ElmSharp/ElmSharp/EvasObject.cs diff --git a/src/ElmSharp/ElmSharp/EvasObject.cs b/src/ElmSharp/ElmSharp/EvasObject.cs old mode 100755 new mode 100644 index 4f6eb48..819efad --- a/src/ElmSharp/ElmSharp/EvasObject.cs +++ b/src/ElmSharp/ElmSharp/EvasObject.cs @@ -213,13 +213,21 @@ namespace ElmSharp /// KeyUp will be triggered when key is loose /// /// preview - public event EventHandler KeyUp; + public event EventHandler KeyUp + { + add { _keyup.On += value; } + remove { _keyup.On -= value; } + } /// /// KeyDown will be triggered when key is preesd down /// /// preview - public event EventHandler KeyDown; + public event EventHandler KeyDown + { + add { _keydown.On += value; } + remove { _keydown.On -= value; } + } /// /// BackButtonPressed will be triggered when Back button is pressed @@ -1065,8 +1073,6 @@ namespace ElmSharp _resized = new EvasObjectEvent(this, EvasObjectCallbackType.Resize); _deleted.On += (s, e) => MakeInvalidate(); - _keydown.On += (s, e) => KeyDown?.Invoke(this, e); - _keyup.On += (s, e) => KeyUp?.Invoke(this, e); } } -- 2.7.4