[NUI] Fix some SVACE issues.
authorhuayong.xu <huayong.xu@samsung.com>
Sun, 29 Jan 2023 02:44:23 +0000 (10:44 +0800)
committerJaehyun Cho <jaehyun0cho@gmail.com>
Wed, 1 Feb 2023 07:07:33 +0000 (16:07 +0900)
src/Tizen.NUI/src/public/Common/PropertyNotification.cs
src/Tizen.NUI/src/public/Events/PanGestureDetector.cs
src/Tizen.NUI/src/public/Xaml/StaticResourceExtension.cs

index c87966232653590fe81d4a64aaf3f05b954581b7..1511c684b18fd8e983640c394bc6d8b1be775bb0 100755 (executable)
@@ -285,26 +285,32 @@ namespace Tizen.NUI
                 {
                     if (propertyNotificationNotifyEventHandler != null)
                     {
-                        var process = global::System.Diagnostics.Process.GetCurrentProcess().Id;
+                        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().Id;
+                        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 f705010c60b17e8981cebae79d8374b4ede828ba..7659110e9951a007de2cf0695be0a9c3d56656e5 100755 (executable)
@@ -593,26 +593,32 @@ namespace Tizen.NUI
                 {
                     if (detectedEventHandler != null)
                     {
-                        var process = global::System.Diagnostics.Process.GetCurrentProcess().Id;
+                        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().Id;
+                        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 523275d733b371945c2681ecb78aace403849b92..12ee8ed1c69996335eabae6e6675e4d9dfdf1d44 100755 (executable)
@@ -98,19 +98,23 @@ namespace Tizen.NUI.Xaml
                     && resource.GetType().GetTypeInfo().IsGenericType
                     && (resource.GetType().GetGenericTypeDefinition() == typeof(OnPlatform<>)))
                 {
-                    var tType = resource.GetType().GenericTypeArguments[0];
-                    var opImplicit = tType.GetImplicitConversionOperator(fromType: tType, toType: propertyType)
-                                    ?? propertyType.GetImplicitConversionOperator(fromType: tType, toType: propertyType);
-
-                    if (opImplicit != null)
+                    var typeArgs = resource.GetType().GenericTypeArguments;
+                    if (typeArgs != null)
                     {
-                        //convert the OnPlatform<T> to T
-                        var opPlatformImplicitConversionOperator = resource?.GetType().GetImplicitConversionOperator(fromType: resource?.GetType(), toType: tType);
-                        resource = opPlatformImplicitConversionOperator?.Invoke(null, new[] { resource });
+                        var tType = typeArgs[0];
+                        var opImplicit = tType.GetImplicitConversionOperator(fromType: tType, toType: propertyType)
+                                        ?? propertyType.GetImplicitConversionOperator(fromType: tType, toType: propertyType);
+
+                        if (opImplicit != null)
+                        {
+                            //convert the OnPlatform<T> to T
+                            var opPlatformImplicitConversionOperator = resource?.GetType().GetImplicitConversionOperator(fromType: resource?.GetType(), toType: tType);
+                            resource = opPlatformImplicitConversionOperator?.Invoke(null, new[] { resource });
 
-                        //and convert to toType
-                        resource = opImplicit.Invoke(null, new[] { resource });
-                        return resource;
+                            //and convert to toType
+                            resource = opImplicit.Invoke(null, new[] { resource });
+                            return resource;
+                        }
                     }
                 }
             }