Piano Roll title draws over widget with text editor (Linux)
- 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.
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:
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