From: TizenAPI-Bot Date: Wed, 19 Apr 2023 02:32:34 +0000 (+0000) Subject: Merge remote-tracking branch 'origin/API8' into tizen_6.0 X-Git-Tag: submit/tizen_6.0/20230419.023234~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=293206dbb48aaade70314c38c649ade84ea13a91;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git Merge remote-tracking branch 'origin/API8' into tizen_6.0 --- 293206dbb48aaade70314c38c649ade84ea13a91 diff --cc src/Tizen.NUI/src/public/Timer.cs index 33386162f,2e5bd3510..56d3c978a --- a/src/Tizen.NUI/src/public/Timer.cs +++ b/src/Tizen.NUI/src/public/Timer.cs @@@ -120,22 -100,15 +112,27 @@@ namespace Tizen.NU } remove { + if (Thread.CurrentThread.ManagedThreadId != 1) + { + Tizen.Log.Error("NUI", "current threadID : " + Thread.CurrentThread.ManagedThreadId); + + StackTrace st = new StackTrace(true); + for (int i = 0; i < st.FrameCount; i++) + { + StackFrame sf = st.GetFrame(i); + Tizen.Log.Error("NUI", " Method " + sf.GetMethod()); + } + } + _timerTickEventHandler -= value; - if (_timerTickEventHandler == null && TickSignal().Empty() == false) + if (_timerTickEventHandler == null && isTickSignalConnected) { - TickSignal().Disconnect(_timerTickCallbackOfNative); + var signal = TickSignal(); + if (signal?.SwigCPtr.Handle == IntPtr.Zero) { signal = null; } + signal?.Disconnect(_timerTickCallbackOfNative); + signal?.Dispose(); + isTickSignalConnected = false; + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } } } @@@ -327,23 -276,16 +324,28 @@@ /// 3 protected override void Dispose(DisposeTypes type) { + if (Thread.CurrentThread.ManagedThreadId != 1) + { + Tizen.Log.Error("NUI", "current threadID : " + Thread.CurrentThread.ManagedThreadId); + + StackTrace st = new StackTrace(true); + for (int i = 0; i < st.FrameCount; i++) + { + StackFrame sf = st.GetFrame(i); + Tizen.Log.Error("NUI", " Method " + sf.GetMethod()); + } + } + NUILog.Debug($"(0x{swigCPtr.Handle:X}) Timer.Dispose(type={type}, disposed={disposed})"); - if (this != null && _timerTickCallbackDelegate != null) + if (this != null && _timerTickCallbackDelegate != null && isTickSignalConnected) { - TickSignal().Disconnect(_timerTickCallbackOfNative); + var signal = TickSignal(); + if (signal?.SwigCPtr.Handle == IntPtr.Zero) { signal = null; } + signal?.Disconnect(_timerTickCallbackOfNative); + signal?.Dispose(); + isTickSignalConnected = false; + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } if (disposed)