]> source.dussan.org Git - vaadin-framework.git/commit
Explicitly remove old dataprovider listener when new one is set (#12064)
authorTatu Lund <tatu@vaadin.com>
Fri, 7 Aug 2020 14:39:23 +0000 (17:39 +0300)
committerGitHub <noreply@github.com>
Fri, 7 Aug 2020 14:39:23 +0000 (17:39 +0300)
commit415acb75f7ee1eb41a0a7f2fa5ba88b489598224
treeeec5f996ee30adc93c7ddc583eada5d335d40151
parent7398f1565ac6e06b871d7f673185fe9faa97e6c5
Explicitly remove old dataprovider listener when new one is set (#12064)

* Explicitly remove old dataprovider listener when new one is set

If not done, this can cause memory leakage

* Formatting

* Fixed coding style

* Take into account further scenarios

Component maybe detached permanently and thus data provider listener needs to be remove in detach. Also if this is only momentary remove from layout add back cycle, re-setup is needed in attach, in case it was not already setup before attaching by setDataProvider.

* Change super.detach() call order

* Added null check to getDataProvider

* Setting dataProviderListener to null on detach

* Removing listener only if it exists

* Fix
server/src/main/java/com/vaadin/ui/ComboBox.java