Bug 355695

Summary: Drop-down menus: Graphical glitch
Product: [Plasma] kwin Reporter: Alexander Godumov <a.godumov>
Component: appmenuAssignee: Cédric Bellegarde <web>
Status: RESOLVED FIXED    
Severity: minor CC: hugo.pereira.da.costa, kwin-bugs-null
Priority: NOR    
Version First Reported In: 5.4.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Screenshot displaying the graphical glitch

Description Alexander Godumov 2015-11-21 14:47:50 UTC
When I press a button that actives a drop down menu a graphical glitch appears along the top and the left vertical of the drop down menu (please see the attached screenshot). It seems to me that there is some kind of an artefact. This appears only in QT applications (strangely enough though I couldn't reproduce it in Konsole, but the problem is present in all other programs I tried like for example dolphin, kate, okular, etc.).

My system is Arch Linux, kernel 4.2.5, x86_64, plasma 5.4.3., KDE applications 15.08.3 KDE frameworkds 15.16. My video card is Intel Haswell on an Acer C720 Chromebook (00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)) and I have version 1:2.99 of the driver.

Reproducible: Always

Steps to Reproduce:
1. Open Dolphi, Kate, Okular or another QT program and pull a drop-down menu

Actual Results:  
Graphical glitch is displayed

Expected Results:  
Graphical glitch shouldn't be displayed
Comment 1 Alexander Godumov 2015-11-21 14:48:40 UTC
Created attachment 95634 [details]
Screenshot displaying the graphical glitch
Comment 2 Thomas Lübking 2015-11-21 14:55:32 UTC
run
QT_STYLE_OVERRIDE=fusion kwrite

glitch gone?

Looks like a translucent ARGB menu exposing it's shadow frame below on the top & left.
Comment 3 Hugo Pereira Da Costa 2015-11-21 15:45:38 UTC
(In reply to Thomas Lübking from comment #2)
> run
> QT_STYLE_OVERRIDE=fusion kwrite
> 
> glitch gone?
> 
> Looks like a translucent ARGB menu exposing it's shadow frame below on the
> top & left.

Agreed
but then, breeeze is not supposed to do that (transparent menus). So how is this achieved ?
Comment 4 Thomas Lübking 2015-11-21 15:48:19 UTC
probably the translucency effect
Comment 5 Hugo Pereira Da Costa 2015-11-21 15:51:52 UTC
ok. Yes. Can reproduce. Interesting.
Comment 6 Hugo Pereira Da Costa 2015-11-21 18:21:31 UTC
Git commit 54c397d937c8a475052e54cbd6e4ebc835fb1c18 by Hugo Pereira Da Costa.
Committed on 21/11/2015 at 18:21.
Pushed by hpereiradacosta into branch 'Plasma/5.5'.

Properly mask out the inner part of the shadows (that overlaps with e.g. menus), to prevent artifacts when translucency is enabled.

M  +4    -4    kstyle/breezehelper.h
M  +15   -0    kstyle/breezeshadowhelper.cpp

http://commits.kde.org/breeze/54c397d937c8a475052e54cbd6e4ebc835fb1c18
Comment 7 Hugo Pereira Da Costa 2015-11-21 18:21:31 UTC
Git commit 48321e81f74f10cb3b7edd882a243fbde5c2cb3d by Hugo Pereira Da Costa.
Committed on 21/11/2015 at 18:19.
Pushed by hpereiradacosta into branch 'master'.

Properly mask out the inner part of the shadows (that overlaps with e.g. menus), to prevent artifacts when translucency is enabled.

M  +4    -4    kstyle/breezehelper.h
M  +15   -0    kstyle/breezeshadowhelper.cpp

http://commits.kde.org/breeze/48321e81f74f10cb3b7edd882a243fbde5c2cb3d
Comment 8 Alexander Godumov 2015-11-22 06:55:05 UTC
(In reply to Thomas Lübking from comment #2)
> run
> QT_STYLE_OVERRIDE=fusion kwrite
> 
> glitch gone?
> 
> Looks like a translucent ARGB menu exposing it's shadow frame below on the
> top & left.

Hi Thomas,

Thank you for the prompt reply. Indeed if I run one of the affected programs with QT_STYLE_OVERRIDE=fusion the problem disappears so it seems to specific to Breeze.

Since you mentioned that this is probably related to the traslucency effect I disabled if from the system settings and the graphical glitch is now gone.
Comment 9 Alexander Godumov 2015-11-22 06:59:28 UTC
(In reply to Hugo Pereira Da Costa from comment #6)
> Git commit 54c397d937c8a475052e54cbd6e4ebc835fb1c18 by Hugo Pereira Da Costa.
> Committed on 21/11/2015 at 18:21.
> Pushed by hpereiradacosta into branch 'Plasma/5.5'.
> 
> Properly mask out the inner part of the shadows (that overlaps with e.g.
> menus), to prevent artifacts when translucency is enabled.
> 
> M  +4    -4    kstyle/breezehelper.h
> M  +15   -0    kstyle/breezeshadowhelper.cpp
> 
> http://commits.kde.org/breeze/54c397d937c8a475052e54cbd6e4ebc835fb1c18

Hi Hugo,

Thanks for providing a patch so quickly! I'd like to ask if this means that this will be fixed in Plasma 5.5 and the glitch won't appear without having to disable the translucency effect for the entire desktop.

Kind regards,
Alexander Godumov
Comment 10 Hugo Pereira Da Costa 2015-11-22 09:17:00 UTC
> Hi Hugo,
> 
> Thanks for providing a patch so quickly! I'd like to ask if this means that
> this will be fixed in Plasma 5.5
yes 

> and the glitch won't appear without having
> to disable the translucency effect for the entire desktop.
yes.

Thanks for submitting the report. I'd never have found the issue myself otherwise.

Hugo
Comment 11 Alexander Godumov 2015-12-19 07:03:17 UTC
I am writing to report that the bug has indeed been fixed in the latest release of plasma.

Kind regards,
Alexander