Bug 478516

Summary: In the task manager, the app icon disappears when there is a running job (or badge in general)
Product: [Plasma] plasmashell Reporter: Bharadwaj Raju <bharadwaj.raju777>
Component: Task Manager and Icons-Only Task Manager widgetsAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: qydwhotmail
Priority: NOR Keywords: qt6
Version First Reported In: master   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: screenshot

Description Bharadwaj Raju 2023-12-14 17:00:15 UTC
Created attachment 164165 [details]
screenshot

SUMMARY
If an app has a badge, its icon doesn't appear. Appears to have something to do with changes to shader infrastructure in Qt 6.

Screenshot attached.


STEPS TO REPRODUCE
1. Open an app which can have a badge.
2. Make it get a badge somehow.
3. Check the task manager.

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 39
KDE Plasma Version: 5.90.90
KDE Frameworks Version: 5.247.0
Qt Version: 6.6.0
Kernel Version: 6.5.11-300.fc39.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 5625U with Radeon Graphics
Memory: 7.1 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Comment 1 Bharadwaj Raju 2023-12-14 17:03:53 UTC
From plasmashell:

Failed to find shader ":/qt/qml/org/kde/graphicaleffects/:/shaders/badge.frag.qsb"
ShaderEffect: Failed to deserialize QShader from :/qt/qml/org/kde/graphicaleffects/:/shaders/badge.frag.qsb. Either the filename is incorrect, or it is not a valid .qsb file. In Qt 6 shaders must be preprocessed using the Qt Shader Tools infrastructure. The vertexShader and fragmentShader properties are now URLs that are expected to point to .qsb files generated by the qsb tool. See https://doc.qt.io/qt-6/qtshadertools-index.html for more information.
ShaderEffect: shader preparation failed for qrc:/qt/qml/org/kde/graphicaleffects/:/shaders/badge.frag.qsb
Comment 2 Bug Janitor Service 2023-12-14 17:15:02 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kdeclarative/-/merge_requests/226
Comment 3 Bharadwaj Raju 2023-12-15 17:56:32 UTC
Git commit 282928cd17deb976769d9be81734df97a01f81c0 by Bharadwaj Raju.
Committed on 14/12/2023 at 18:14.
Pushed by ngraham into branch 'master'.

Fix badge effect

The path to the QSB file was wrong (needed to specify qrc:), and the
fragment shader had a name mismatch with the vertex output (see https://doc.qt.io/qt-6/qml-qtquick-shadereffect.html#having-one-shader-only)

M  +1    -1    src/qmlcontrols/graphicaleffects/BadgeEffect.qml
M  +2    -2    src/qmlcontrols/graphicaleffects/badge.frag

https://invent.kde.org/frameworks/kdeclarative/-/commit/282928cd17deb976769d9be81734df97a01f81c0