[NUI] Fix Svace issues (#1719)
authorzhouleonlei <56956725+zhouleonlei@users.noreply.github.com>
Thu, 18 Jun 2020 06:18:18 +0000 (14:18 +0800)
committerGitHub <noreply@github.com>
Thu, 18 Jun 2020 06:18:18 +0000 (14:18 +0800)
* [NUI] Fix Svace issues

* [NUI] Revert some changes

src/Tizen.NUI.Components/Controls/DropDown.DropDownDataItem.cs
src/Tizen.NUI.Components/Controls/ScrollableBase.cs
src/Tizen.NUI/src/internal/Xaml/ApplyPropertiesVisitor.cs
src/Tizen.NUI/src/internal/Xaml/XamlLoader.cs
src/Tizen.NUI/src/internal/XamlBinding/OnPlatform.cs
src/Tizen.NUI/src/public/BaseComponents/Style/Selector.cs
src/Tizen.NUI/src/public/XamlBinding/Page.cs

index eafd140..548a82f 100755 (executable)
@@ -94,12 +94,14 @@ namespace Tizen.NUI.Components
                 }
                 set
                 {
-                    if (null == itemDataStyle?.BackgroundColor)
+                    if (null != itemDataStyle)
                     {
-                        itemDataStyle.BackgroundColor = new Selector<Color>();
+                        if (null == itemDataStyle.BackgroundColor)
+                        {
+                            itemDataStyle.BackgroundColor = new Selector<Color>();
+                        }
+                        itemDataStyle.BackgroundColor.Clone(value);
                     }
-
-                    itemDataStyle.BackgroundColor.Clone(value);
                 }
             }
 
index 78f6b62..eb6bc3a 100755 (executable)
@@ -479,9 +479,9 @@ namespace Tizen.NUI.Components
         [EditorBrowsable(EditorBrowsableState.Never)]
         public override void OnChildAdd(View view)
         {
-            if (view.Name != "InterruptTouchingChild" && view.Name != "ScrollBar")
+            if (null != view && view.Name != "InterruptTouchingChild" && view.Name != "ScrollBar")
             {
-                if (mScrollingChild.Name != "DefaultScrollingChild")
+                if (null != mScrollingChild && mScrollingChild.Name != "DefaultScrollingChild")
                 {
                     propertyNotification.Notified -= OnPropertyChanged;
                     mScrollingChild.RemovePropertyNotification(propertyNotification);
@@ -491,7 +491,10 @@ namespace Tizen.NUI.Components
                 mScrollingChild = view;
                 mScrollingChild.Layout.SetPositionByLayout = false;
                 propertyNotification = mScrollingChild?.AddPropertyNotification("position", PropertyCondition.Step(1.0f));
-                propertyNotification.Notified += OnPropertyChanged;
+                if (null != propertyNotification)
+                {
+                    propertyNotification.Notified += OnPropertyChanged;
+                }
                 mScrollingChild.Relayout += OnScrollingChildRelayout;
                 mScrollingChild.LowerToBottom();
             }
index 8c6f27d..e4db39f 100755 (executable)
@@ -238,8 +238,8 @@ namespace Tizen.NUI.Xaml
             if (value.GetType().GetTypeInfo().GetCustomAttribute<AcceptEmptyServiceProviderAttribute>() == null)
                 serviceProvider = new XamlServiceProvider(node, Context);
 
-            if (serviceProvider != null && serviceProvider.IProvideValueTarget != null && propertyName != XmlName.Empty) {
-                ((XamlValueTargetProvider)serviceProvider.IProvideValueTarget).TargetProperty = GetTargetProperty(source, propertyName, Context, node);
+            if (serviceProvider != null && serviceProvider.IProvideValueTarget is XamlValueTargetProvider && propertyName != XmlName.Empty) {
+                (serviceProvider.IProvideValueTarget as XamlValueTargetProvider).TargetProperty = GetTargetProperty(source, propertyName, Context, node);
             }
 
             if (markupExtension != null)
index 4988c79..317dce2 100755 (executable)
@@ -463,6 +463,7 @@ namespace Tizen.NUI.Xaml
                 var regex = new Regex(pattern, RegexOptions.ECMAScript);
                 if (regex.IsMatch(xaml) || xaml.Contains(String.Format("x:Class=\"{0}\"", "Tizen.NUI.Layer")))
                 {
+                    reader.Dispose();
                     return xaml;
                 }
                 // View
@@ -470,9 +471,11 @@ namespace Tizen.NUI.Xaml
                 regex = new Regex(pattern, RegexOptions.ECMAScript);
                 if (regex.IsMatch(xaml) || xaml.Contains(String.Format("x:Class=\"{0}\"", "Tizen.NUI.BaseComponents.View")))
                 {
+                    reader.Dispose();
                     return xaml;
                 }
 
+                reader.Dispose();
                 throw new XamlParseException(string.Format("Can't find type {0}", "Tizen.NUI.XamlMainPage nor View nor Layer"), new XmlLineInfo());
             }
             return null;
index 7186a7d..f10c65d 100755 (executable)
@@ -64,7 +64,7 @@ namespace Tizen.NUI.Binding
             foreach (var onPlat in onPlatform.Platforms) {
                 if (onPlat.Platform == null)
                     continue;
-                if (!onPlat.Platform.Contains(Device.RuntimePlatform))
+                if (null != Device.RuntimePlatform && !onPlat.Platform.Contains(Device.RuntimePlatform))
                     continue;
                 if (s_valueConverter == null)
                     continue;
index 0bc79a7..a804baf 100755 (executable)
@@ -396,18 +396,21 @@ namespace Tizen.NUI.BaseComponents
         /// </summary>
         static internal Selector<T> CopyCloneable<T>(object value) where T : class, Tizen.NUI.Internal.ICloneable
         {
-            var type = value?.GetType();
-
-            if (type == typeof(Selector<T>))
+            if (null != value)
             {
-                var result = new Selector<T>();
-                result.Clone<T>((Selector<T>)value);
-                return result;
-            }
+                var type = value.GetType();
 
-            if (type == typeof(T))
-            {
-                return new Selector<T>((T)((T)value).Clone());
+                if (type == typeof(Selector<T>))
+                {
+                    var result = new Selector<T>();
+                    result.Clone<T>((Selector<T>)value);
+                    return result;
+                }
+
+                if (type == typeof(T))
+                {
+                    return new Selector<T>((T)((T)value).Clone());
+                }
             }
 
             return null;
@@ -419,18 +422,21 @@ namespace Tizen.NUI.BaseComponents
         /// </summary>
         static internal Selector<T> CopyValue<T>(object value)
         {
-            var type = value?.GetType();
-
-            if (type == typeof(Selector<T>))
+            if (null != value)
             {
-                var result = new Selector<T>();
-                result.Clone((Selector<T>)value);
-                return result;
-            }
+                var type = value.GetType();
 
-            if (type == typeof(T))
-            {
-                return new Selector<T>((T)value);
+                if (type == typeof(Selector<T>))
+                {
+                    var result = new Selector<T>();
+                    result.Clone((Selector<T>)value);
+                    return result;
+                }
+
+                if (type == typeof(T))
+                {
+                    return new Selector<T>((T)value);
+                }
             }
 
             return null;
index a4134c1..04f965d 100755 (executable)
@@ -391,10 +391,13 @@ namespace Tizen.NUI
 
         void OnToolbarItemsCollectionChanged(object sender, NotifyCollectionChangedEventArgs args)
         {
-            if (args.Action != NotifyCollectionChangedAction.Add)
-                return;
-            foreach (IElement item in args.NewItems)
-                item.Parent = this;
+            if (null != args)
+            {
+                if (args.Action != NotifyCollectionChangedAction.Add)
+                    return;
+                foreach (IElement item in args.NewItems)
+                    item.Parent = this;
+            }
         }
 
         bool ShouldLayoutChildren()