Text view sets spurious adjustment values
@kaiw
Submitted by Kai Willadsen Link to original bug (#771602)
Description
Created attachment 335781 Simple python test case
If you set the value of a GtkTextView vertical adjustment to a non-integral value, GtkTextView normalises this to an integral value and re-sets it, causing the GtkAllocation to emit a spurious value-changed event.
For example, a program calls gtk_adjustment_set_value(adj, 100.5) on the textview's vadjustment and then receives two value-changed events: one to 100.5 and one to 100.0. Personally, I think it would be fine if it emitted one either of these events... just not both.
While a workaround has been applied (and it's fine) this caused a bug in Meld where, because we were getting value-changed adjustment events that didn't correspond to either our actions or user actions, scrolling broke.
Attachment 335781, "Simple python test case":
textview_adjustment.py
Version: 3.21.x