There are several editors in a tab (e.g. a GridComponent and a dependent form). If a change is made in one of the editors that leads to an error (e.g. empty a mandatory field) and the tab is changed, a message appears that the tab change is not possible because changes have been made.
Here it is now not possible to apply the changes (command disabled, because of the error) and possibly an error occurs when discarding the changes (Not displayable).
Cause
When creating the "Changes available" dialog, all handlers that potentially have an error are included. These are iterated through to remove the handlers that have no changes and to find out if one has no Apply command or an Error (in this case no Apply command can be offered in the dialog).
If one has no Apply handler or an Error, the loop is terminated so that there are still handlers that have no changes. These prevent the execution of the "Discard" command.
Test
Not stable to test. It depends on whether in the loop described above, the editor without change is included before or after the editor with the error.