Browse Source

Fixed wrong Validate() usage

CPKreuz 1 year ago
parent
commit
99fbc4600a

+ 5 - 1
src/PixiEditor.ChangeableDocument/Changeables/Graph/Nodes/KernelNode.cs

@@ -38,6 +38,10 @@ public class KernelFilterNode : Node
     protected override Surface? OnExecute(RenderingContext context)
     protected override Surface? OnExecute(RenderingContext context)
     {
     {
         var input = Image.Value;
         var input = Image.Value;
+
+        if (input == null)
+            return null;
+        
         var kernel = Kernel.Value;
         var kernel = Kernel.Value;
         var workingSurface = new Surface(input.Size);
         var workingSurface = new Surface(input.Size);
 
 
@@ -52,7 +56,7 @@ public class KernelFilterNode : Node
         return workingSurface;
         return workingSurface;
     }
     }
 
 
-    public override bool Validate() => Image.Value != null;
+    public override bool Validate() => true;
 
 
     public override Node CreateCopy() => new KernelFilterNode();
     public override Node CreateCopy() => new KernelFilterNode();
 }
 }

+ 4 - 1
src/PixiEditor.ChangeableDocument/Changeables/Graph/Nodes/MatrixTransformNode.cs

@@ -31,6 +31,9 @@ public class MatrixTransformNode : Node
     
     
     protected override Surface? OnExecute(RenderingContext context)
     protected override Surface? OnExecute(RenderingContext context)
     {
     {
+        if (Input.Value == null)
+            return null;
+        
         var currentMatrix = Matrix.Value;
         var currentMatrix = Matrix.Value;
         if (previousMatrix != currentMatrix)
         if (previousMatrix != currentMatrix)
         {
         {
@@ -47,7 +50,7 @@ public class MatrixTransformNode : Node
         return Transformed.Value;
         return Transformed.Value;
     }
     }
 
 
-    public override bool Validate() => Input.Value != null;
+    public override bool Validate() => true;
 
 
     public override Node CreateCopy() => new MatrixTransformNode();
     public override Node CreateCopy() => new MatrixTransformNode();
 }
 }

+ 1 - 1
src/PixiEditor.ChangeableDocument/Changeables/Graph/Nodes/ModifyImageLeftNode.cs

@@ -49,7 +49,7 @@ public class ModifyImageLeftNode : Node
         return Image.Value;
         return Image.Value;
     }
     }
 
 
-    public override bool Validate() => Image.Connection != null;
+    public override bool Validate() => true;
 
 
     public override Node CreateCopy() => new ModifyImageLeftNode();
     public override Node CreateCopy() => new ModifyImageLeftNode();
 }
 }

+ 6 - 2
src/PixiEditor.ChangeableDocument/Changeables/Graph/Nodes/SeparateChannelsNode.cs

@@ -44,9 +44,13 @@ public class SeparateChannelsNode : Node
         Grayscale = CreateInput(nameof(Grayscale), "GRAYSCALE", false);
         Grayscale = CreateInput(nameof(Grayscale), "GRAYSCALE", false);
     }
     }
     
     
-    protected override Surface OnExecute(RenderingContext context)
+    protected override Surface? OnExecute(RenderingContext context)
     {
     {
         var image = Image.Value;
         var image = Image.Value;
+
+        if (image == null)
+            return null;
+        
         var grayscale = Grayscale.Value;
         var grayscale = Grayscale.Value;
 
 
         var red = !grayscale ? _redFilter : _redGrayscaleFilter;
         var red = !grayscale ? _redFilter : _redGrayscaleFilter;
@@ -86,7 +90,7 @@ public class SeparateChannelsNode : Node
         return imageSurface;
         return imageSurface;
     }
     }
 
 
-    public override bool Validate() => Image.Value != null;
+    public override bool Validate() => true;
 
 
     public override Node CreateCopy() => new SeparateChannelsNode();
     public override Node CreateCopy() => new SeparateChannelsNode();
 }
 }