$" process:{process} thread:{thread}, disposing:{disposing}, isDisposed:{this.disposed}, isDisposeQueued:{this.isDisposeQueued}, me:{me}\n");
}
- if (isDisposeQueued)
- {
- Tizen.Log.Fatal("NUI", $"[Disposable]should not be here! (dead code) this will be removed!");
- throw new global::System.Exception($"[NUI] should not be here! (dead code) this will be removed!");
- Dispose(DisposeTypes.Implicit);
- }
- else
- {
- Dispose(DisposeTypes.Explicit);
- }
+ Dispose(DisposeTypes.Explicit);
}
else
{
internal uint GetId()
{
uint ret = Interop.Actor.GetId(SwigCPtr);
-
- //this is temporary debugging code. will be removed in 2 weeks
- {
- int minusOne = -1;
- uint errorRet = (uint)minusOne;
- if (ret == errorRet || SwigCPtr.Handle == IntPtr.Zero)
- {
- var process = global::System.Diagnostics.Process.GetCurrentProcess().Id;
- var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
- var me = this.GetType().FullName;
-
- Log.Fatal("NUI", $"Error! GetId error OR swigCPtr.Handle == IntPtr.Zero ! please check! \n" +
- $" process:{process} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
- }
- }
-
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
[EditorBrowsable(EditorBrowsableState.Never)]
protected override void ReleaseSwigCPtr(System.Runtime.InteropServices.HandleRef swigCPtr)
{
+ if (swigCMemOwn)
+ {
+ var me = this.GetType().FullName;
+ Tizen.Log.Error("NUI", $"[ERROR] View.ReleaseSwigCPtr() is called outside of BaseHandle.Dispose(type)! me:{me}\n");
+ }
Interop.View.DeleteView(swigCPtr);
}
$" process:{process} thread:{thread}, disposing:{disposing}, isDisposed:{this.disposed}, isDisposeQueued:{this.isDisposeQueued}, me:{me}\n");
}
- if (isDisposeQueued)
- {
- Tizen.Log.Fatal("NUI", $"should not be here! (dead code) this will be removed!");
- throw new global::System.Exception($"[NUI] should not be here! (dead code) this will be removed!");
- Dispose(DisposeTypes.Implicit);
- }
- else
- {
- Dispose(DisposeTypes.Explicit);
- }
+ Dispose(DisposeTypes.Explicit);
}
else
{
Registry.Unregister(this);
}
- // this is temporary test code. will be removed laster
- {
- if (swigCPtr.Handle != IntPtr.Zero && swigCPtrCopy.Handle != IntPtr.Zero)
- {
- var process = global::System.Diagnostics.Process.GetCurrentProcess().Id;
- var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
- var me = this.GetType().FullName;
- var daliId = "unknown";
- var hash = this.GetType().GetHashCode();
- var name = "unknown";
-
- if (this is BaseComponents.View)
- {
- daliId = Interop.Actor.GetId(swigCPtrCopy).ToString();
- name = Interop.Actor.GetName(swigCPtrCopy);
- BaseObject tmp = new BaseObject(Interop.BaseHandle.GetBaseObject(swigCPtrCopy), false);
- var refCnt = tmp.ReferenceCount();
- tmp.Dispose();
- if (refCnt > 2)
- {
- Log.Error("NUI", $"[ERR] reference count is over than 2. Could be a memory leak. Need to check! \n" +
- $" process:{process} thread:{thread}, isDisposed:{this.disposed}, isDisposeQueued:{this.isDisposeQueued}, me:{me} \n" +
- $" disposeType:{type}, name:{name}, daliID:{daliId}, hash:{hash}, refCnt:{refCnt}");
- }
- }
- }
- }
-
if (SwigCPtr.Handle != IntPtr.Zero)
{
if (swigCMemOwn)
{
if (swigCPtr.Handle == IntPtr.Zero)
{
- var process = global::System.Diagnostics.Process.GetCurrentProcess().Id;
- var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
var me = this.GetType().FullName;
-
- Log.Fatal("NUI", $"Error! swigCPtr.Handle == IntPtr.Zero ! please check! \n" +
- $" process:{process} thread:{thread}, isDisposed:{this.disposed}, isDisposeQueued:{this.isDisposeQueued}, me:{me}\n");
+ Log.Fatal("NUI", $"Error! swigCPtr.Handle == IntPtr.Zero ! please check! me:{me}\n");
}
return swigCPtr;
}