Bug #4310
open
ValueListeners receive valueChanged events when values have not changed
Added by Daniel Crawl over 15 years ago.
Updated almost 15 years ago.
Description
A ValueListener sometimes receives events for a Settable when the Settable's value has not changed. This can lead to a stack overflow since reading the value of the Settable may generate another valueChanged event.
To fix this, valueChanged not be called unless the value has actually changed.
We need a test case for this.
The implications for this are not clear. Sounds like it is a serious bug that should be fixed, but we need a more detailed test case demonstrating the problem. Dan -- please either provide a way to reproduce this or retarget it to 2.X.Y.
Calling getValueAsString on Distributor.input_tokenConsumptionRate always generates a value changed event.
getValueAsString sounds like a "read only" activity, so I understand that a "valueChanged" event is a surprise, if not a bug. I'm glad we're not doing Heisenberg or other quantum experiments here..
More seriously: I wanted to confirm (maybe Edward would know) whether there is not a deeper reason why valueChanged is raised. It certainly sounds as if it shouldn't be though ...
If it results in a stack overflow, we are in trouble..
B
Original Bugzilla ID was 4310
Also available in: Atom
PDF