Bug #4310
ValueListeners receive valueChanged events when values have not changed
0%
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.
History
#1 Updated by Christopher Brooks over 11 years ago
We need a test case for this.
#2 Updated by Matt Jones over 11 years ago
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.
#3 Updated by Daniel Crawl over 11 years ago
Calling getValueAsString on Distributor.input_tokenConsumptionRate always generates a value changed event.
#4 Updated by Bertram Ludaescher over 11 years ago
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
#5 Updated by Redmine Admin almost 8 years ago
Original Bugzilla ID was 4310