New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LCD Widgets reduce value by 2 when finishing trackpad "wheel scroll" action #3370
Comments
@follower I'm assuming this is a mac issue, cause I can't reproduce on linux, neither with my touchpad not my mouse. |
Yes, it is Mac-only caused by the addition of I've got more details and plan to put together a PR for this specific case but also want to get feedback on implementing a solution for all other occurrences. (TL;DW: I recommend ignoring this ticket until I add the additional information. :) |
This sounds like a Qt bug. @follower What version of macOS/Qt do you see this issue with? |
It's not specifically a Qt bug but a change in behaviour coupled with a coding idiom/incorrect coding assumption in LMMS. (It could be argued that the non-backward compatible behaviour is a Qt bug but...) Issue: Delta events should be ignored when in phase start/endSpecifically, the idiom is the use of the ternary operator to evaluate mouse wheel delta changes (e.g. see):
Although there are also places where The problem being that any action should only happen if the Number of occurrencesFrom memory there are about a dozen places where In most cases the workaround/fix (an early exit from the method) is relatively straight-forward but in some cases it is more complicated due to questions about correct event propagation behaviour. Current fix statusSomewhere I have an old LMMS master with ~2/3rds of the occurrences fixed, I will work on trying to find it and flick a patch somewhere. One of the primary reasons I stalled on the patch was because it seemed like a "code smell" that the idiom is used in so many places without a common implementation that is used (e.g. even the variable name given to the While the code duplication is a factor, in order to avoid a "perfect is the enemy of good" situation, I think patching the easily changed places would be worthwhile. (In terms of versions affected, I think I've observed it in Qt 5.5 & 5.6 but from the documentation it seems it would be Qt 5.2+.) |
Found a couple of related open tabs...
|
Here is a demonstration using the tempo control:
The following events happen in the gif:
More details on cause and suggested solution to follow.
The text was updated successfully, but these errors were encountered: