GtkAdjustment possible enhancements - storing original value, and respect class invariants at all times
Currently, a GtkAdjustment needs to be used with some care. So the idea is to make it less error-prone to use.
Since it's the user that controls the property values, it can easily break the class invariants.
It also depends on which order the properties are set. For example setting first :value and then :lower can break the class invariants too, since it's the :value setter that clamps the value.
An idea is to keep the original :value, and ask for the clamped one when needing it. Sometimes the original value is useful to keep around, in case the other properties change and the original value becomes in range.
Currently the original value can be stored externally of course.
In all cases, it's the user of the class that better knows whether re-clamping the original value makes sense or not.
But storing the original value would resolve the class invariants problem.
(it's more an API design proposal, feel free to close this issue if it's not a good idea to change GtkAdjustment).