From 3911c95103c72061e7db81c75764cb548afe49f3 Mon Sep 17 00:00:00 2001 From: zhouhao02 Date: Wed, 11 Oct 2023 14:05:52 +0800 Subject: [PATCH] Fix some SVACE issues. --- .../internal/chipmunk/cpSpaceDebugDrawOptions.cs | 12 +++++------ .../src/internal/Xaml/CreateValuesVisitor.cs | 6 +++--- .../public/BaseComponents/DirectRenderingGLView.cs | 23 +++++++++++++--------- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/Tizen.NUI.Physics2D/src/internal/chipmunk/cpSpaceDebugDrawOptions.cs b/src/Tizen.NUI.Physics2D/src/internal/chipmunk/cpSpaceDebugDrawOptions.cs index d787f6e..7b9afef 100644 --- a/src/Tizen.NUI.Physics2D/src/internal/chipmunk/cpSpaceDebugDrawOptions.cs +++ b/src/Tizen.NUI.Physics2D/src/internal/chipmunk/cpSpaceDebugDrawOptions.cs @@ -104,15 +104,13 @@ namespace Tizen.NUI.Physics2D.Chipmunk private IntPtr ToPointer() { IntPtr drawOptionsPtr = NativeInterop.AllocStructure(); - try + if (Marshal.SizeOf(typeof(cpSpaceDebugDrawOptions)) == 0) { - Marshal.StructureToPtr(this, drawOptionsPtr, false); + throw new ArgumentNullException("The size of type cpSpaceDebugDrawOptions should not be 0."); } - catch (Exception exception) - { - Tizen.Log.Fatal("NUI", "[Error] got exception during Marshal.StructureToPtr, this should not occur, message : " + exception.Message); - } - + + Marshal.StructureToPtr(this, drawOptionsPtr, false); + return drawOptionsPtr; } diff --git a/src/Tizen.NUI/src/internal/Xaml/CreateValuesVisitor.cs b/src/Tizen.NUI/src/internal/Xaml/CreateValuesVisitor.cs index 266e0b4..a7b98c6 100755 --- a/src/Tizen.NUI/src/internal/Xaml/CreateValuesVisitor.cs +++ b/src/Tizen.NUI/src/internal/Xaml/CreateValuesVisitor.cs @@ -202,9 +202,9 @@ namespace Tizen.NUI.Xaml Values[node] = value; } - - if (value != null && value is BindableObject) - NameScope.SetNameScope(value as BindableObject, node.Namescope); + var bindableObject = value as BindableObject; + if (bindableObject != null) + NameScope.SetNameScope(bindableObject, node.Namescope); } public void Visit(RootNode node, INode parentNode) diff --git a/src/Tizen.NUI/src/public/BaseComponents/DirectRenderingGLView.cs b/src/Tizen.NUI/src/public/BaseComponents/DirectRenderingGLView.cs index b2bf0d9..2946cb4 100644 --- a/src/Tizen.NUI/src/public/BaseComponents/DirectRenderingGLView.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/DirectRenderingGLView.cs @@ -183,18 +183,23 @@ namespace Tizen.NUI.BaseComponents { unsafe { - if (textures != null && sizeof(IntPtr) * textures.Count > 0) + + if (textures != null) { - IntPtr unmanagedPointer = Marshal.AllocHGlobal(checked(sizeof(IntPtr) * textures.Count)); - IntPtr[] texturesArray = new IntPtr[textures.Count]; - for (int i = 0; i < textures.Count; i++) + int intptrBytes = checked(sizeof(IntPtr) * textures.Count); + if (intptrBytes>0) { - texturesArray[i] = HandleRef.ToIntPtr(Texture.getCPtr(textures[i])); - } - System.Runtime.InteropServices.Marshal.Copy(texturesArray, 0, unmanagedPointer, textures.Count); + IntPtr unmanagedPointer = Marshal.AllocHGlobal(intptrBytes); + IntPtr[] texturesArray = new IntPtr[textures.Count]; + for (int i = 0; i < textures.Count; i++) + { + texturesArray[i] = HandleRef.ToIntPtr(Texture.getCPtr(textures[i])); + } + System.Runtime.InteropServices.Marshal.Copy(texturesArray, 0, unmanagedPointer, textures.Count); - Interop.GLView.GlViewBindTextureResources(SwigCPtr, unmanagedPointer, textures.Count); - Marshal.FreeHGlobal(unmanagedPointer); + Interop.GLView.GlViewBindTextureResources(SwigCPtr, unmanagedPointer, textures.Count); + Marshal.FreeHGlobal(unmanagedPointer); + } } } } -- 2.7.4