LMMS / LMMS/lmms

Automation: points deleted while moving other points can be restored abnormally

Open
#4,671 7 comments 0 reactions 0 assignees View on GitHub
bug gui
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.