-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix WorkspaceDocument
Leak
#1808
Fix WorkspaceDocument
Leak
#1808
Conversation
CodeEdit/Features/Documents/Controllers/CodeEditSplitViewController.swift
Outdated
Show resolved
Hide resolved
CodeEdit/Features/Documents/Controllers/CodeEditSplitViewController.swift
Outdated
Show resolved
Hide resolved
@austincondiff updated to have no force unwraps. Also after merging the CESE changes the last reference to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
...es/NavigatorArea/FindNavigator/FindNavigatorResultList/FindNavigatorListViewController.swift
Outdated
Show resolved
Hide resolved
...ea/ProjectNavigator/OutlineView/ProjectNavigatorViewController+NSOutlineViewDataSource.swift
Outdated
Show resolved
Hide resolved
4caf125
@FastestMolasses @activcoding @0xWDG sorry need another review, had a merge conflict. I addressed the comments left earlier. |
Description
Fixes various strong reference cycles throughout the app relating to either
WorkspaceDocument
, related window controllers, view controllers, or sub-models.This does not entirely close # 1794. There is still some leaked outline view cells that are strongly referencing workspace files (no idea why).After updating CESE,
CodeFileDocument
is no longer strongly referenced. There is still an issue with the project navigator's cells staying alive after the window closing but I think this PR is substantial enough to merge now.Substantial changes:
StandardTableViewCell
to use the built-in label and icon properties, and adding the secondary label on top ofNSTableViewCell
.ExtensionDiscovery
slightly reworked to better support cancellation of tasks.performClose
overclose
on window objects (this will animate the close button being pressed, and is what should be used in window commands).@UpdatingWindowController
that weakly references and auto-updates a window controller variable. Useful in SwiftUI views or commands that need updating access to the current window controller.Note
For reviewers, this has a lot of small changes, but there should be no functionality changes.
Related Issues
Checklist
Screenshots
N/A. No UI changes.