From: seungha.son Date: Mon, 10 Oct 2016 05:53:34 +0000 (+0900) Subject: Modify badge eventHandler add / remove parameter X-Git-Tag: submit/trunk/20170823.075128~119^2~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f5bac6357d910648c170d4c1b5824e7c913dd123;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git Modify badge eventHandler add / remove parameter Signed-off-by: seungha.son Change-Id: Iad7c14d35b69f0fe7fc34414384dc6ef00c49243 --- diff --git a/src/Tizen.Applications.Badge/Tizen.Applications/BadgeControl.cs b/src/Tizen.Applications.Badge/Tizen.Applications/BadgeControl.cs index 84a4178..955ec1d 100755 --- a/src/Tizen.Applications.Badge/Tizen.Applications/BadgeControl.cs +++ b/src/Tizen.Applications.Badge/Tizen.Applications/BadgeControl.cs @@ -18,6 +18,7 @@ namespace Tizen.Applications { private static event EventHandler s_changed; private static bool s_registered = false; + private static Interop.Badge.ChangedCallback s_callback; /// /// Event handler for receiving badge events. @@ -31,7 +32,9 @@ namespace Tizen.Applications { if (s_changed == null && !s_registered) { - Interop.Badge.ErrorCode err = Interop.Badge.SetChangedCallback(OnChangedEvent, IntPtr.Zero); + if (s_callback == null) + s_callback = new Interop.Badge.ChangedCallback(OnChangedEvent); + Interop.Badge.ErrorCode err = Interop.Badge.SetChangedCallback(s_callback, IntPtr.Zero); switch (err) { @@ -44,7 +47,6 @@ namespace Tizen.Applications case Interop.Badge.ErrorCode.OutOfMemory: throw new InvalidOperationException("Out-of-memory at unmanaged code"); } - s_registered = true; } s_changed += value; @@ -54,7 +56,7 @@ namespace Tizen.Applications s_changed -= value; if (s_changed == null && s_registered) { - Interop.Badge.ErrorCode err = Interop.Badge.UnsetChangedCallback(OnChangedEvent); + Interop.Badge.ErrorCode err = Interop.Badge.UnsetChangedCallback(s_callback); switch (err) { @@ -67,7 +69,7 @@ namespace Tizen.Applications case Interop.Badge.ErrorCode.NotExist: throw new InvalidOperationException("Not exist"); } - + s_callback = null; s_registered = false; } }