You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As explained in #114 (comment) and in the following comments.
Theoretically, it's simple – if you initialise some components in A, B, C order, then they need to be destroyed in C, B, A order.
So, e.g. if the editor first loads plugins and then inits the UI, the UI needs to be destroyed before the plugins are destroyed.
However, what if one of the plugins created some UI and added it to editor UI's collection? On editor destroy, first the UI will be destroyed (which is recursive and will destroy that plugin's component too) and then the plugins will be destroyed and one of these plugins may want to somehow destroy the component which it created (it might've even initialised it, but usually plugins don't do that).
We've got a collision of responsibilities here. editor.ui.destroy() is recursive so it destroys things which the editor creator didn't create. And then plugins come and try to destroy those things again.
As explained in #114 (comment) and in the following comments.
The solution is explained in #114 (comment).
The text was updated successfully, but these errors were encountered: