[NUI] Fix Dispose memory leak issue
authorhuiyu.eun <huiyu.eun@samsung.com>
Mon, 1 Feb 2021 04:08:29 +0000 (13:08 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Mon, 1 Feb 2021 08:04:43 +0000 (17:04 +0900)
- 'disposedThis' blocks the release of memory.
https://github.com/Samsung/TizenFX/pull/2381

Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
src/Tizen.NUI/src/internal/Common/Disposable.cs
src/Tizen.NUI/src/public/Common/BaseHandle.cs
src/Tizen.NUI/src/public/Layouting/FlexLayout.cs

index 5a46a6b..d6d9675 100755 (executable)
@@ -34,8 +34,6 @@ namespace Tizen.NUI
         private bool swigCMemOwn { get; set; }
         private bool isDisposeQueued = false;
 
-        private bool disposedThis = false;
-
         /// <summary>
         /// Create an instance of Disposable.
         /// </summary>
@@ -83,7 +81,7 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         protected virtual void Dispose(bool disposing)
         {
-            if (disposedThis)
+            if (disposed)
             {
                 return;
             }
@@ -120,8 +118,6 @@ namespace Tizen.NUI
 
             // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.
             // TODO: set large fields to null.
-
-            disposedThis = true;
         }
 
         /// <summary>
index 37af440..71304d5 100755 (executable)
@@ -48,8 +48,6 @@ namespace Tizen.NUI
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
 
-        private bool disposedThis = false;
-
         /// <summary>
         /// Create an instance of BaseHandle.
         /// </summary>
@@ -307,7 +305,7 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         protected virtual void Dispose(bool disposing)
         {
-            if (disposedThis)
+            if (disposed)
             {
                 return;
             }
@@ -344,8 +342,6 @@ namespace Tizen.NUI
 
             // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.
             // TODO: set large fields to null.
-
-            disposedThis = true;
         }
 
 
index 800f001..5eb1a50 100755 (executable)
@@ -95,7 +95,6 @@ namespace Tizen.NUI
         private bool swigCMemOwn;
         private bool disposed;
         private bool isDisposeQueued = false;
-        private bool disposedThis = false;
 
         private MeasureSpecification parentMeasureSpecificationWidth;
         private MeasureSpecification parentMeasureSpecificationHeight;
@@ -304,7 +303,7 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         protected override void Dispose(bool disposing)
         {
-            if (disposedThis)
+            if (disposed)
             {
                 return;
             }
@@ -341,7 +340,6 @@ namespace Tizen.NUI
 
             // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below.
             // TODO: set large fields to null.
-            disposedThis = true;
             base.Dispose(disposing);
         }