[NUI] Remove RenderTask itself from the RenderTaskList when disposed
authorJiyun Yang <ji.yang@samsung.com>
Thu, 20 Jul 2023 07:25:53 +0000 (16:25 +0900)
committerJiyun Yang <ji.yang@samsung.com>
Thu, 20 Jul 2023 09:21:39 +0000 (18:21 +0900)
Signed-off-by: Jiyun Yang <ji.yang@samsung.com>
src/Tizen.NUI/src/internal/Common/RenderTask.cs

index 47b8223..0c12607 100755 (executable)
@@ -41,6 +41,21 @@ namespace Tizen.NUI
             return ret;
         }
 
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (Disposed)
+            {
+                return;
+            }
+
+            foreach (var window in Application.GetWindowList())
+            {
+                window.GetRenderTaskList().RemoveTask(this);
+            }
+
+            base.Dispose(type);
+        }
+
         internal class Property
         {
             internal static readonly int ViewportPosition = Interop.RenderTask.ViewportPositionGet();