Last modified: 2014-07-14 13:47:06 UTC
Steps to reproduce: 1. Edit an existing monolingual value. Lets say it contains the string "Test". 2. Press x + backspace very fast. 3. Save. Result: The input field shows "Test" but "Testx" is saved. Same happens the other way around. Press backspace + the character you just deleted very fast. "Tes" is saved.
This is a race condition in ValueView. It has nothing to do with mono and can be verified with e. g. string values, too. ValueView::_updateValue is not correctly called under the following condition: * Raw value of the expert is A * You change the raw value to B * ValueView is notified about the change * ValueView calls _updateValue * _updateValue calls _parseValue * Before _parseValue finishes, you change the raw value back to A * ValueView is notified about the change * ValueView compares the current raw value to the stored raw value **which is still A** * ValueView thinks nothing changed * The _parseValue call for B finishes * ValueView sets its stored value to the parsing result for B I'll push a fix right now.
https://github.com/wmde/ValueView/pull/80