Bug 439847

Summary: Breeze SVGs used for third-party themes even though they shouldn't be
Product: [Frameworks and Libraries] libplasma Reporter: Filip Fila <filipfila.kde>
Component: componentsAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: normal CC: aleixpol, niccolo.venerandi, plasma-bugs
Priority: NOR    
Version: 5.84.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: SVGs drawn when they shouldn't be

Description Filip Fila 2021-07-14 18:28:13 UTC
Created attachment 140060 [details]
SVGs drawn when they shouldn't be

SUMMARY
Updating frameworks to 5.84 breaks the "fromCurrentTheme" property for SVGs. This property is used in PlasmoidHeading so that nothing gets drawn when the theme doesn't have an SVG for the headings. Without that property, Breeze's SVGs get imposed on other themes, which is what has started happening now. It looks pretty bad and breaks third-party themes. 

STEPS TO REPRODUCE
1. Update to 5.84
2. Use some Plasma theme that doesn't have SVGs for PlasmoidHeading (e.g. WhiteSur, ChromeOS, ROUNDED)
3. Observe that PlasmoidHeadings are now drawn and that it looks pretty bad

OBSERVED RESULT
PlasmoidHeading drawn when it shouldn't be.

EXPECTED RESULT
PlasmoidHeading not drawn when it shouldn't be.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.22.3
KDE Plasma Version: 5.22.3
KDE Frameworks Version: 5.84
Qt Version: 5.15.2

ADDITIONAL INFORMATION
Comment 2 Aleix Pol 2021-07-16 00:47:55 UTC
Git commit f7d63bc30b2adbf420163d8a8825e1ee9e125498 by Aleix Pol Gonzalez, on behalf of Aleix Pol.
Committed on 16/07/2021 at 00:47.
Pushed by apol into branch 'master'.

Theme::currentThemeHasImage should not return true if parent themes match

M  +5    -1    src/plasma/theme.cpp

https://invent.kde.org/frameworks/plasma-framework/commit/f7d63bc30b2adbf420163d8a8825e1ee9e125498