[NUI][XamlBuild] Set node as null after calling ExitXaml().
authorguowei.wang <guowei.wang@samsung.com>
Thu, 24 Mar 2022 09:10:40 +0000 (17:10 +0800)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Tue, 29 Mar 2022 03:10:12 +0000 (12:10 +0900)
src/Tizen.NUI.XamlBuild/src/public/XamlBuild/XamlGenerator.cs

index 2e37cea..d725303 100755 (executable)
@@ -410,7 +410,7 @@ namespace Tizen.NUI.Xaml.Build.Tasks
                 Provider.GenerateCodeFromCompileUnit(ccu, writer, new CodeGeneratorOptions());
         }
 
-        private static void GenerateMethodExitXaml(CodeTypeDeclaration declType)
+        private void GenerateMethodExitXaml(CodeTypeDeclaration declType)
         {
             var removeEventsComp = new CodeMemberMethod()
             {
@@ -441,6 +441,19 @@ namespace Tizen.NUI.Xaml.Build.Tasks
 
             exitXamlComp.Statements.Add(disposeXamlElements_invoke);
 
+            CodeAssignStatement eXamlDataAssign = new CodeAssignStatement(
+                    new CodeVariableReferenceExpression("eXamlData"), new CodeDefaultValueExpression(new CodeTypeReference(typeof(object))));
+
+            exitXamlComp.Statements.Add(eXamlDataAssign);
+
+            foreach (var namedField in NamedFields)
+            {
+                CodeAssignStatement assign = new CodeAssignStatement(
+                    new CodeVariableReferenceExpression(namedField.Name), new CodeDefaultValueExpression(namedField.Type));
+
+                exitXamlComp.Statements.Add(assign);
+            }
+
             declType.Members.Add(exitXamlComp);
         }