Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.9.0 Beta 4
-
None
-
b04b4ae4f618257a01132699df9858cd903f8c87 (qtbase/dev, 6.6.2017, 5.10)
Description
As revealed by QTBUG-60562, the windows vista style paints invalid background pixels into the backing store. This appears to be because QWindowsXPStylePrivate::drawBackgroundDirectly (src\widgets\styles\qwindowsxpstyle.cpp:707) does not correct the alpha values like QWindowsXPStylePrivate::drawBackgroundThruNativeBuffer does. So we end up with a whtle background fill with alpha set to 0, which is invalid in premultiplied data.
Forcing canDrawDirectly to 'false' in QWindowsXPStylePrivate::drawBackground solves the issue by always using drawBackgroundThruNativeBuffer, but probably has a performance cost.
Attachments
Issue Links
- relates to
-
QTBUG-60562 REG [within 5.9]: Windows font engine rendering broken when using message box with rich text
- Closed
Gerrit Reviews
For Gerrit Dashboard: QTBUG-60571 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
193724,3 | WIP: QWindowsXPStyle: Remove code path drawing directly on backing store | dev | qt/qtbase | Status: NEW | -2 | 0 |
193561,2 | Revert gamma-corrected handling of transparent destination buffer | 5.9.0 | qt/qtbase | Status: MERGED | +2 | 0 |
193733,6 | QWindowsXPStyle: Do not draw some opaque theme parts directly | dev | qt/qtbase | Status: MERGED | -2 | 0 |