Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
4.8.0
-
None
-
* Discovered with QtEmbedded on x86 platform with a 640x480x16bits qvfb
* Reproduced (exactly) with QtEmbedded on ARM platform with a 640x480x16bits framebuffer
* Not reproduced with Qt X11 on x86 platform
Description
When using a top-level window with a translucent background, the painting inside the window draws some strange artifacts. The first screenshot shows what happens when the window has no transparency : everything is fine. The second screenshot show what happens when the windows has transparency : we can see strange dark lines on the first button's icon.
From all the tests I could run, here are the elements that may help :
- When the content of the window is fixed, the generated artifacts are always the same, even if you restart the application many times, and even on different platforms (x86+qvfb / x86+vnc / ARM+framebuffer). That means that the artifacts are not completely random, nor memory-dependant. When the content changes, the artifacts change, sometimes everything is fine, sometimes it is very strange. I could not find a correlation pattern between the content and the generated artifacts.
- Whatever the method used to set a transparent background, the artifacts are always the same :
- Setting attribute Qt::WA_TranslucentBackground
- Using a CSS style sheet with attribute "background-color: transparent"
- Setting a transparent background with the setPalette method
- The artifacts are present as soon as you set a transparency, even very small
- The artifacts are present with QWS, not with X11
I provide a sample project which reproduces the problem. I usually try to look at the Qt code myself, but I don't know where to start in this case.
I discovered the problem with the 4.7.2 version, and tried with version 4.8.0, the result is the same.
I use a version of the library compiled with various options to suit my needs, but nothing that should not be done.
Let me know if you want more details or more tests.
Thanks !