Browse Source

Fixed not proper connection validation

flabbet 10 months ago
parent
commit
9ee87013dd

+ 4 - 9
src/PixiEditor.ChangeableDocument/Changes/NodeGraph/ConnectProperties_Change.cs

@@ -125,8 +125,8 @@ internal class ConnectProperties_Change : Change
             {
                 return true;
             }
-            
-            var outputValue = output.Value;
+
+            object? outputValue = output.Value;
             
             if(IsExpressionToConstant(output, input, out var result))
             {
@@ -137,18 +137,13 @@ internal class ConnectProperties_Change : Change
             {
                 return ConversionTable.TryConvert(result, output.ValueType, out _);
             }
-
-            if (outputValue == null)
-            {
-                return true;
-            }
             
-            if (outputValue.GetType().IsAssignableTo(input.ValueType))
+            if (output.ValueType.IsAssignableTo(input.ValueType))
             {
                 return true;
             }
 
-            if (ConversionTable.TryConvert(outputValue, input.ValueType, out _))
+            if (outputValue != null && ConversionTable.TryConvert(outputValue, input.ValueType, out _))
             {
                 return true;
             }

+ 5 - 3
src/PixiEditor.UI.Common/Accents/Base.axaml

@@ -45,6 +45,7 @@
             <!-- Sockets -->
             <Color x:Key="DefaultSocketColor">#FF00FF</Color>
             <Color x:Key="ImageSocketColor">#99c47a</Color>
+            <Color x:Key="PainterSocketColor">#ff8c00</Color>
             <Color x:Key="FilterSocketColor">#CC5C5C</Color>
             <Color x:Key="BoolSocketColor">#68abdf</Color>
             <Color x:Key="FloatSocketColor">#ffc66d</Color>
@@ -126,6 +127,7 @@
             <!-- Sockets -->
             <SolidColorBrush x:Key="DefaultSocketBrush" Color="{StaticResource DefaultSocketColor}"/>
             <SolidColorBrush x:Key="TextureSocketBrush" Color="{StaticResource ImageSocketColor}"/>
+            <SolidColorBrush x:Key="PainterSocketBrush" Color="{StaticResource PainterSocketColor}"/>
             <SolidColorBrush x:Key="FilterSocketBrush" Color="{StaticResource FilterSocketColor}"/>
             <SolidColorBrush x:Key="TextureSamplerSocketBrush" Color="{StaticResource ImageSocketColor}"/>
             <SolidColorBrush x:Key="BooleanSocketBrush" Color="{StaticResource BoolSocketColor}"/>
@@ -140,9 +142,9 @@
             <SolidColorBrush x:Key="Int2SocketBrush" Color="{StaticResource VecISocketColor}"/>
             <SolidColorBrush x:Key="Int32SocketBrush" Color="{StaticResource IntSocketColor}"/>
             <SolidColorBrush x:Key="Int1SocketBrush" Color="{StaticResource IntSocketColor}"/>
-            <ConicGradientBrush x:Key="ShapeDataSocketBrush" GradientStops="{StaticResource ShapeDataSocketGradient}"/>
-            <SolidColorBrush x:Key="EllipseDataSocketBrush" Color="{StaticResource EllipseDataSocketColor}"/>
-            <SolidColorBrush x:Key="PointsDataSocketBrush" Color="{StaticResource PointsDataSocketColor}"/>
+            <ConicGradientBrush x:Key="ShapeVectorDataSocketBrush" GradientStops="{StaticResource ShapeDataSocketGradient}"/>
+            <SolidColorBrush x:Key="EllipseVectorDataSocketBrush" Color="{StaticResource EllipseDataSocketColor}"/>
+            <SolidColorBrush x:Key="PointsVectorDataSocketBrush" Color="{StaticResource PointsDataSocketColor}"/>
             
             <!-- Zones & Frames -->
             <SolidColorBrush x:Key="PixiEditorModifyImageLeftBorderBrush" Color="{StaticResource PixiEditorModifyImageBorderColor}"/>