Summary: | Oxygen style mishandles background transparency | ||
---|---|---|---|
Product: | [Plasma] Oxygen | Reporter: | Steven M. Parrish <smparrish> |
Component: | style | Assignee: | Camilla Boemann <cbo> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | hugo.pereira.da.costa, rdieter |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
Sample code to show the bug
Screenshot of the incorrectly rendered result Fixed background rendering when base color has alpha channel |
Description
Steven M. Parrish
2009-09-13 00:48:54 UTC
Created attachment 36913 [details]
Sample code to show the bug
Created attachment 36914 [details]
Screenshot of the incorrectly rendered result
There are two issues here: 1/ the gradient, if shown, is not rendered properly. I believe this is because the alpha channel of the widget background color is not properly accounted for when calculating the gradients. This can probably be fixed for kde4.4 2/ there should not be any gradient here anyway. This one might be a Qt bug. The thing is that your widget is assigned a Qt::Window flag (which triggers the gradient painting) (Note: thanks Casper for the clue where to look), because it has no parent, even if it gets embedded into a graphicsScene. This is a Qt decision/bug/feature (I don't know). We can either - file a Qt bug - try make the triggering of background gradient rendering more strict to detect cases above (but that might then break other things) - let you add a parent to your widget :-) Comments welcome. Let me try fix 1/ first ... ok. So item 1/ above is fixed (see attachment). For Item 2/ I'm not sure how to address. Created attachment 37653 [details]
Fixed background rendering when base color has alpha channel
|