[NUI][API10] Fix some SVACE issue
authorhuayong.xu <huayong.xu@samsung.com>
Thu, 2 Feb 2023 07:31:47 +0000 (15:31 +0800)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Thu, 2 Feb 2023 08:11:52 +0000 (17:11 +0900)
src/Tizen.NUI/src/public/Common/PropertyNotification.cs
src/Tizen.NUI/src/public/Events/PanGestureDetector.cs

index c380290..37c85d5 100755 (executable)
@@ -281,25 +281,34 @@ namespace Tizen.NUI
         {
             if (IsNativeHandleInvalid())
             {
-                var process = global::System.Diagnostics.Process.GetCurrentProcess()?.Id ?? -1;
-                var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
-                var me = this.GetType().FullName;
                 if (this.Disposed)
                 {
                     if (propertyNotificationNotifyEventHandler != null)
                     {
+                        var process = global::System.Diagnostics.Process.GetCurrentProcess();
+                        var processId = process.Id;
+                        var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
+                        var me = this.GetType().FullName;
+
                         Tizen.Log.Error("NUI", $"Error! NUI's native dali object is already disposed. " +
                             $"OR the native dali object handle of NUI becomes null! \n" +
-                            $" process:{process} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
+                            $" process:{processId} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
+                        process.Dispose();
                     }
                 }
                 else
                 {
                     if (this.IsDisposeQueued)
                     {
+                        var process = global::System.Diagnostics.Process.GetCurrentProcess();
+                        var processId = process.Id;
+                        var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
+                        var me = this.GetType().FullName;
+
                         //in this case, this object is ready to be disposed waiting on DisposeQueue, so event callback should not be invoked!
                         Tizen.Log.Error("NUI", "in this case, the View object is ready to be disposed waiting on DisposeQueue, so event callback should not be invoked! just return here! \n" +
-                            $"process:{process} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
+                            $"process:{processId} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
+                        process.Dispose();
                         return;
                     }
                 }
index 033dac7..5ffec17 100755 (executable)
@@ -589,25 +589,34 @@ namespace Tizen.NUI
         {
             if (IsNativeHandleInvalid())
             {
-                var process = global::System.Diagnostics.Process.GetCurrentProcess()?.Id ?? -1;
-                var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
-                var me = this.GetType().FullName;
                 if (this.Disposed)
                 {
                     if (detectedEventHandler != null)
                     {
+                        var process = global::System.Diagnostics.Process.GetCurrentProcess();
+                        var processId = process.Id;
+                        var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
+                        var me = this.GetType().FullName;
+
                         Tizen.Log.Error("NUI", $"Error! NUI's native dali object is already disposed. " +
                             $"OR the native dali object handle of NUI becomes null! \n" +
-                            $" process:{process} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
+                            $" process:{processId} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
+                        process.Dispose();
                     }
                 }
                 else
                 {
                     if (this.IsDisposeQueued)
                     {
+                        var process = global::System.Diagnostics.Process.GetCurrentProcess();
+                        var processId = process.Id;
+                        var thread = global::System.Threading.Thread.CurrentThread.ManagedThreadId;
+                        var me = this.GetType().FullName;
+
                         //in this case, this object is ready to be disposed waiting on DisposeQueue, so event callback should not be invoked!
                         Tizen.Log.Error("NUI", "in this case, the View object is ready to be disposed waiting on DisposeQueue, so event callback should not be invoked! just return here! \n" +
-                            $"process:{process} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
+                            $"process:{processId} thread:{thread}, isDisposed:{this.Disposed}, isDisposeQueued:{this.IsDisposeQueued}, me:{me}\n");
+                        process.Dispose();
                         return;
                     }
                 }