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

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

@fabriciomurta

Description

@fabriciomurta

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions