A single tab displays multiple editors (e.g., a GridComponent and a dependent form). If a change is made in one of the editors that results in an error (e.g., leaving a required field blank) and you try to switch tabs, a message appears stating that switching tabs is not possible because changes have been made.
At this point, it is not possible to save the changes (the command is disabled due to the error), and an error may occur when attempting to discard the changes (cannot be displayed).
Cause
When the "Changes Present" dialog is created, all handlers that potentially have an error are included. These are iterated through to remove the handlers that have no changes and to determine whether any lack an "Apply" command or have an error (in which case, an "Apply" command cannot be offered in the dialog).
If one has no "Apply" handler or an error, the loop terminates, leaving handlers that have no changes. These prevent the "Discard" command from being executed.
Test
Testing is not stable. It depends on whether, in the loop described above, the editor with no changes is included before or after the editor with the error.