diff --git a/Sources/CodeEditSourceEditor/Controller/TextViewController.swift b/Sources/CodeEditSourceEditor/Controller/TextViewController.swift index b7234221f..f33afa002 100644 --- a/Sources/CodeEditSourceEditor/Controller/TextViewController.swift +++ b/Sources/CodeEditSourceEditor/Controller/TextViewController.swift @@ -234,6 +234,7 @@ public class TextViewController: NSViewController { coordinators.forEach { $0.prepareCoordinator(controller: self) } + self.textCoordinators = coordinators.map { WeakCoordinator($0) } } required init?(coder: NSCoder) { diff --git a/Sources/CodeEditSourceEditor/SourceEditor/SourceEditor.swift b/Sources/CodeEditSourceEditor/SourceEditor/SourceEditor.swift index 463bcbe4d..3b2496aa1 100644 --- a/Sources/CodeEditSourceEditor/SourceEditor/SourceEditor.swift +++ b/Sources/CodeEditSourceEditor/SourceEditor/SourceEditor.swift @@ -128,9 +128,6 @@ public struct SourceEditor: NSViewControllerRepresentable { context.coordinator.isUpdatingFromRepresentable = false } - // Set this no matter what to avoid having to compare object pointers. - controller.textCoordinators = coordinators.map { WeakCoordinator($0) } - // Do manual diffing to reduce the amount of reloads. // This helps a lot in view performance, as it otherwise gets triggered on each environment change. guard !paramsAreEqual(controller: controller, coordinator: context.coordinator) else {