Automation: points deleted while moving other points can be restored abnormally
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
Note that it's an unusual situation for ordinary users.
Steps to reproduce:
- Click an automation point and start moving it
- While holding the left mouse button, press the right mouse button on existing points to remove them
- Release the mouse button and add a new automation point
- Deleted points will re-appear
I believe `m_oldTimeMap` still contains deleted points, and those points are restored on the second `AutomationPattern::setDragValue` call.
I think related UI part is also problematic. Once I press the right mouse button, the dragging stops. However, `AutomationPattern::applyDragValue` is not called in that case. It will lead to restoring deleted points from `m_oldTimeMap`.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing AutomationPattern::setDragValue and applyDragValue, focusing on how m_oldTimeMap is populated and cleared when right-click deletion stops dragging. Reproduce the listed mouse sequence and verify that deleted automation points remain deleted after releasing the mouse and adding a new point.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100