Open pwilkin opened 2 years ago
The free support of Vaadin 8 has ended February 22, 2022. We are continuing offering commercial Extended Maintenance of Vaadin 8. If you are interested to get this fix, you need to have Vaadin Prime or Enterprise subscription with Extended Maintenance option included. See more at: https://vaadin.com/pricing
Does this mean you're not accepting pull requests into the project as well? I could contribute the fix if it's permitted.
@pwilkin It does not make much sense, since we will not be building the future releases from this repo. We will keep the issue tracker open.
In Vaadin Framework 8.4.13, when you are registering a component to be used as a grid editor for a column, if that component happens to be invisible, it completely breaks the grid. Reason: CustomEditorHandler's getWidget() method tries to get the editor component by its connector ID. Now, if the connector ID is null, then it correctly renders an empty editor. However, if the connector ID is not null (as is the case with an existing, but invisible component), an attempt is made to retrieve the connector from the id-to-connector map, but the connector is not there (because the server-side code didn't push it as a dirty, but invisible connector), causing a client-side null pointer.
Steps to reproduce: create a editable Grid, register a field as a custom editor for any column, set that field to invisible, try to activate the editor.
Easiest fix is probably splitting EditorConnector::getWidget on line 146 to do a null check on the return of the getConnector() method.