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
call StateUtil.resetState on a sap.ui.mdc.Table with enabled filters
destroy the table instance
In this case await StateUtil.resetState returns but some deferred code is not yet executed, then the table is destroyed and then the deferred code tries to access things belonging to the table that in the mean time no longer exist.
Following the code, the method StateUtil.resetState awaits sap.m.p13n.Engine.reset. This method returns a promise. So that is still fine. However, in e.g. version 1.135.0 in the forEach loop in line 349 of sap.m.p13n.Engine there is call to sap.ui.mdc.p13n.subcontroller.FilterController.update. This method contains unsynchronized code: createFilterFields returns a promise and is therefore deferred.
I've provided a minimal example that creates and destroys a table. You need to refresh once (to create only), then add a column or filter (to trigger the creation of a change) and then press refresh once more (to destroy and the create again).
What is the issue and how can we reproduce it?
In this case await StateUtil.resetState returns but some deferred code is not yet executed, then the table is destroyed and then the deferred code tries to access things belonging to the table that in the mean time no longer exist.
Following the code, the method StateUtil.resetState awaits sap.m.p13n.Engine.reset. This method returns a promise. So that is still fine. However, in e.g. version 1.135.0 in the forEach loop in line 349 of sap.m.p13n.Engine there is call to sap.ui.mdc.p13n.subcontroller.FilterController.update. This method contains unsynchronized code: createFilterFields returns a promise and is therefore deferred.
I've provided a minimal example that creates and destroys a table. You need to refresh once (to create only), then add a column or filter (to trigger the creation of a change) and then press refresh once more (to destroy and the create again).
Which OpenUI5 version is your project targeting?
1.120.x to 1.135.x
Is the issue device- or browser-specific?
No.
App.controller.js.txt
App.view.xml.txt
Component.js.txt
manifest.json
model.json
TableDelegate.js.txt
Confirmation
The text was updated successfully, but these errors were encountered: