From 6dd497bbc82bbc6e7ddb429244dd72b8b8b31817 Mon Sep 17 00:00:00 2001 From: Goldy Date: Wed, 22 Nov 2017 14:46:08 +0300 Subject: [PATCH 1/2] Code improvement Removed unused or duplicated code --- src/Avalonia.Controls/Calendar/Calendar.cs | 2 +- src/Avalonia.Controls/Control.cs | 1 - .../Primitives/SelectingItemsControl.cs | 2 +- src/Avalonia.Controls/TreeView.cs | 5 +---- src/Avalonia.Visuals/Media/PathMarkupParser.cs | 2 +- .../Rendering/SceneGraph/SceneBuilder.cs | 2 +- .../Avalonia.Markup/Data/Parsers/ArgumentListParser.cs | 10 +--------- .../Avalonia.Direct2D1/Media/DrawingContextImpl.cs | 1 - 8 files changed, 6 insertions(+), 19 deletions(-) diff --git a/src/Avalonia.Controls/Calendar/Calendar.cs b/src/Avalonia.Controls/Calendar/Calendar.cs index 8c79e5dce5..59281c5ad0 100644 --- a/src/Avalonia.Controls/Calendar/Calendar.cs +++ b/src/Avalonia.Controls/Calendar/Calendar.cs @@ -549,7 +549,7 @@ namespace Avalonia.Controls } else { - if (addedDate.HasValue && !(SelectedDates.Count > 0 && SelectedDates[0] == addedDate.Value)) + if (!(SelectedDates.Count > 0 && SelectedDates[0] == addedDate.Value)) { foreach (DateTime item in SelectedDates) { diff --git a/src/Avalonia.Controls/Control.cs b/src/Avalonia.Controls/Control.cs index d4777b2f8a..6e1e1a05f1 100644 --- a/src/Avalonia.Controls/Control.cs +++ b/src/Avalonia.Controls/Control.cs @@ -621,7 +621,6 @@ namespace Avalonia.Controls Contract.Requires(property != null); Contract.Requires(selector != null); Contract.Requires(className != null); - Contract.Requires(property != null); if (string.IsNullOrWhiteSpace(className)) { diff --git a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs index ab09a4701d..563d394919 100644 --- a/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs +++ b/src/Avalonia.Controls/Primitives/SelectingItemsControl.cs @@ -297,7 +297,7 @@ namespace Avalonia.Controls.Primitives .OfType() .FirstOrDefault(x => x.LogicalParent == this && ItemContainerGenerator?.IndexFromContainer(x) != -1); - return item as IControl; + return item; } /// diff --git a/src/Avalonia.Controls/TreeView.cs b/src/Avalonia.Controls/TreeView.cs index 079e571d29..fa3ecdedef 100644 --- a/src/Avalonia.Controls/TreeView.cs +++ b/src/Avalonia.Controls/TreeView.cs @@ -176,10 +176,7 @@ namespace Avalonia.Controls SelectedItem = item; - if (SelectedItem != null) - { - MarkContainerSelected(container, true); - } + MarkContainerSelected(container, true); } } diff --git a/src/Avalonia.Visuals/Media/PathMarkupParser.cs b/src/Avalonia.Visuals/Media/PathMarkupParser.cs index fbc189546c..9e4a3cbeae 100644 --- a/src/Avalonia.Visuals/Media/PathMarkupParser.cs +++ b/src/Avalonia.Visuals/Media/PathMarkupParser.cs @@ -320,7 +320,7 @@ namespace Avalonia.Media if (c == 'E') { readSign = false; - readExponent = c == 'E'; + readExponent = true; } } else diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/SceneBuilder.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/SceneBuilder.cs index 90ef78de37..b5ac7e4077 100644 --- a/src/Avalonia.Visuals/Rendering/SceneGraph/SceneBuilder.cs +++ b/src/Avalonia.Visuals/Rendering/SceneGraph/SceneBuilder.cs @@ -192,7 +192,7 @@ namespace Avalonia.Rendering.SceneGraph UpdateLayer(node, scene.Layers[node.LayerRoot]); } } - else if (!startLayer && node.LayerRoot == node.Visual && node.Parent != null) + else if (node.LayerRoot == node.Visual && node.Parent != null) { ClearLayer(scene, node); } diff --git a/src/Markup/Avalonia.Markup/Data/Parsers/ArgumentListParser.cs b/src/Markup/Avalonia.Markup/Data/Parsers/ArgumentListParser.cs index a824a38867..563b372c78 100644 --- a/src/Markup/Avalonia.Markup/Data/Parsers/ArgumentListParser.cs +++ b/src/Markup/Avalonia.Markup/Data/Parsers/ArgumentListParser.cs @@ -51,15 +51,7 @@ namespace Avalonia.Markup.Data.Parsers } } - if (!r.End) - { - r.Take(); - return result; - } - else - { - throw new ExpressionParseException(r.Position, "Expected ']'."); - } + throw new ExpressionParseException(r.Position, "Expected ']'."); } return null; diff --git a/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs index 6a72923ce3..b1bfdcbfeb 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs @@ -54,7 +54,6 @@ namespace Avalonia.Direct2D1.Media _finishedCallback = finishedCallback; _directWriteFactory = directWriteFactory; _imagingFactory = imagingFactory; - _swapChain = swapChain; _renderTarget.BeginDraw(); } From d4a32764cad02f4b65a3dfa7b0d7a12137d35c1e Mon Sep 17 00:00:00 2001 From: Goldy Date: Wed, 22 Nov 2017 14:56:33 +0300 Subject: [PATCH 2/2] Add null check for parameter Remove unused variable --- src/Avalonia.Controls/VirtualizingStackPanel.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Controls/VirtualizingStackPanel.cs b/src/Avalonia.Controls/VirtualizingStackPanel.cs index 834f6d218b..409dd231ad 100644 --- a/src/Avalonia.Controls/VirtualizingStackPanel.cs +++ b/src/Avalonia.Controls/VirtualizingStackPanel.cs @@ -134,12 +134,14 @@ namespace Avalonia.Controls protected override IInputElement GetControlInDirection(NavigationDirection direction, IControl from) { + if (from == null) + return null; + var logicalScrollable = Parent as ILogicalScrollable; - var fromControl = from as IControl; - if (logicalScrollable?.IsLogicalScrollEnabled == true && fromControl != null) + if (logicalScrollable?.IsLogicalScrollEnabled == true) { - return logicalScrollable.GetControlInDirection(direction, fromControl); + return logicalScrollable.GetControlInDirection(direction, from); } else {