From f4f0597dca4a06afab5ddeb704f4c9eb50eb5e49 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 6 Jan 2017 12:56:36 +0100 Subject: [PATCH] Update next node in binding chain on error. Fixes #831 and makes `Pushing_Null_To_RootObservable_Updates_Leaf_Node` test pass. --- .../Avalonia.Markup/Data/ExpressionNode.cs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/Markup/Avalonia.Markup/Data/ExpressionNode.cs b/src/Markup/Avalonia.Markup/Data/ExpressionNode.cs index 93f20e4c77..56c0072eaa 100644 --- a/src/Markup/Avalonia.Markup/Data/ExpressionNode.cs +++ b/src/Markup/Avalonia.Markup/Data/ExpressionNode.cs @@ -131,20 +131,14 @@ namespace Avalonia.Markup.Data } else { - if (notification.Error != null) + if (Next != null) { - _observer.OnNext(notification); + Next.Target = new WeakReference(notification.Value); } - else if (notification.HasValue) + + if (Next == null || notification.Error != null) { - if (Next != null) - { - Next.Target = new WeakReference(notification.Value); - } - else - { - _observer.OnNext(value); - } + _observer.OnNext(value); } } }