From e3e851e9db2f05ceec09208a6c000e7835892a1c Mon Sep 17 00:00:00 2001 From: Chromium <62724067+Chromum@users.noreply.github.com> Date: Sun, 4 May 2025 08:54:56 +0100 Subject: [PATCH] fixed spooky warning --- ...ImageProcessingGraphEdgeConnectorListener.cs | 8 +++++++- .../ImageProcessingGraphSearchProvider.cs | 17 +++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/Editor/Scripts/Editor/Windows/ImageProcessingGraphEdgeConnectorListener.cs b/Editor/Scripts/Editor/Windows/ImageProcessingGraphEdgeConnectorListener.cs index 5d3b7a8..42e38c1 100644 --- a/Editor/Scripts/Editor/Windows/ImageProcessingGraphEdgeConnectorListener.cs +++ b/Editor/Scripts/Editor/Windows/ImageProcessingGraphEdgeConnectorListener.cs @@ -31,7 +31,13 @@ namespace ImageProcessingGraph.Editor.Unity_Image_Processing.Scripts.Editor.Wind window.ChangeCoordinatesTo(window, window.cachedMousePos - window.Window.position.position); var graphMousePosition = window.contentViewContainer.WorldToLocal(mousePos); - SearchWindow.Open(new SearchWindowContext(GUIUtility.GUIToScreenPoint(Event.current.mousePosition)), new ImageProcessingGraphSearchProvider.CustomSearchProviderForEdge(window.searchProvider, edge, (IPTPort)edge.input, (IPTPort)edge.output)); + var searchProviderInstance = ScriptableObject.CreateInstance(); + searchProviderInstance.Init(window.searchProvider, edge, (IPTPort)edge.input, (IPTPort)edge.output); + + SearchWindow.Open( + new SearchWindowContext(GUIUtility.GUIToScreenPoint(Event.current.mousePosition)), + searchProviderInstance + ); // Remove connections as you did List connections = new List(); diff --git a/Editor/Scripts/Editor/Windows/ImageProcessingGraphSearchProvider.cs b/Editor/Scripts/Editor/Windows/ImageProcessingGraphSearchProvider.cs index 711f85f..9d2025b 100644 --- a/Editor/Scripts/Editor/Windows/ImageProcessingGraphSearchProvider.cs +++ b/Editor/Scripts/Editor/Windows/ImageProcessingGraphSearchProvider.cs @@ -227,10 +227,10 @@ namespace ImageProcessingGraph.Editor.Unity_Image_Processing.Scripts.Editor.Wind public class CustomSearchProviderForEdge : ScriptableObject, ISearchWindowProvider { - private readonly ImageProcessingGraphSearchProvider original; - private readonly Edge edge; - private readonly IPTPort inputPort; - private readonly IPTPort outputPort; + private ImageProcessingGraphSearchProvider original; + private Edge edge; + private IPTPort inputPort; + private IPTPort outputPort; public CustomSearchProviderForEdge(ImageProcessingGraphSearchProvider original, Edge edge, IPTPort inputPort, IPTPort outputPort) { @@ -240,6 +240,15 @@ namespace ImageProcessingGraph.Editor.Unity_Image_Processing.Scripts.Editor.Wind this.outputPort = outputPort; } + public void Init(ImageProcessingGraphSearchProvider original, Edge edge, IPTPort inputPort, + IPTPort outputPort) + { + this.original = original; + this.edge = edge; + this.inputPort = inputPort; + this.outputPort = outputPort; + } + public List CreateSearchTree(SearchWindowContext context) { return original.CreateSearchTreeForEdge(context, edge);