Skip to content
This repository has been archived by the owner on Aug 9, 2024. It is now read-only.

DisplayField's indicator DOM features destroyed by Garbage Collection #1875

Open
fabriciomurta opened this issue Sep 17, 2022 · 0 comments
Open

Comments

@fabriciomurta
Copy link
Contributor

fabriciomurta commented Sep 17, 2022

Found: 5.3.0
Ext.NET forums' thread: Data binding weird issue

Onde Ext JS's garbage collection runs in a page using a DisplayField component, it will wipe some hidden DOM elements, for instance, the field indicator one.

That's because the DOM entries are never added to the component via its template (thus never displayed), so the garbage collector would find the orphan DOM reference and remove it on its first run.

After garbage collection runs, layout updates will try to access the DisplayField indicatorEl structure, which would be marked as destroyed and the field note and indicator related code would ultimately crash.

To reproduce the issue, add a ext:DisplayField to a page and watch calls to Ext.dom.Element.destroy(), within the test against !me.isFly. Load the page, and click around the page (anywhere, it will eventually trigger garbage collection in under 30 seconds). Then, the collector will call the function destroying some DOM elements of the DisplayField that are not properly added to the rendered page.

This is an Ext.NET-specific issue (field indicator), so it is not something we could expect further releases of Ext JS to fix.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant