Skip to content
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

AbstractWindow.cleanup creates cyclic garbage. #104

Closed
mdickinson opened this issue Jul 12, 2013 · 0 comments · Fixed by #749
Closed

AbstractWindow.cleanup creates cyclic garbage. #104

mdickinson opened this issue Jul 12, 2013 · 0 comments · Fixed by #749

Comments

@mdickinson
Copy link
Member

The cleanup method of AbstractWindow introduces new reference cycles. Ironically, it was apparently introduced in commit 8e3aa33 in order to break cycles.

The problem lies in the line self.component = None here: https://github.com/enthought/enable/blob/master/enable/abstract_window.py#L385. That assignment triggers the _component_changed static Traits listener, which in turn creates a new component and assigns that to self.component. That then triggers another call to _component_changed which handily inserts a reference back to the window from the component, creating a cycle.

@jwiggins jwiggins added this to To be considered in Enthought OSS Q1 2021 via automation Mar 24, 2021
@rahulporuri rahulporuri moved this from To be considered to In progress in Enthought OSS Q1 2021 Mar 24, 2021
Enthought OSS Q1 2021 automation moved this from In progress to Done Mar 24, 2021
@rahulporuri rahulporuri moved this from Done to Sprint 5 : 15 March - 2 April 2021 in Enthought OSS Q1 2021 Apr 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Enthought OSS Q1 2021
Sprint 5 : 15 March - 2 April 2021
Development

Successfully merging a pull request may close this issue.

2 participants