LMMS / LMMS/lmms

Piano Roll title draws over widget with text editor (Linux)

Open
#8,087 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

When I was experimenting with qplaintextedit, I noticed something unusual:

If you let the piano roll's title refresh itself, the text draws over another window's text editor portion.

Image

How to reproduce?
* Make a new piano roll and fill it with notes such that it needs to self scroll when played. __(eg. zoom out, fill some notes, and zoom in).__
* let another window's text editor portion be on top crossing over the piano roll's title.
* Play (on a loop), and bring that latest window of your choice into the front, so that the piano roll's title is covered.
* After each loop or scroll, the title of the piano roll tries to refresh.
* This text is somehow displayed over the widget that was on the top of the piano roll's title originally.

It actually happened on painting over the QPlainTextEdit (in one of my plugin view).

Closer view:

Image

Effect intended:
1. The newly painted title text should hide under the widget when the title bar is covered.
2. Or, the text editor should not allow to draw over it.

Expected behavior:
The text should obey the window position and layering. It the title is hidden/shadowed under another window; text should not appear over the top.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the piano roll title's repaint or refresh path and reproduce the issue on Linux using the described scrolling and overlapping QPlainTextEdit setup. Trace how the title is painted when another window covers it; done means the title respects window layering and does not appear over the text editor, with a regression test if the existing GUI tests cover this behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.