Bug 484639 - Fallback to Breeze ignored by KIconLoader because of wrong global initialization order
Summary: Fallback to Breeze ignored by KIconLoader because of wrong global initializat...
Status: CONFIRMED
Alias: None
Product: frameworks-kiconthemes
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 6.0.0
Platform: openSUSE Linux
: NOR wishlist
Target Milestone: ---
Assignee: Christoph Feck
URL:
Keywords:
: 451463 481402 483496 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-03-28 01:31 UTC by Grósz Dániel
Modified: 2024-05-11 06:57 UTC (History)
13 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Grósz Dániel 2024-03-28 01:31:28 UTC
There have been bug reports of missing icons in Plasma 6 with the Oxygen theme: Bug 481402, Bug 483496. (IIRC there were a few missing icons in Plasma 5 as well, but less prominent ones.) Besides, of course, providing those icons in Oxygen style, a (partial) solution would be to fall back to a style that provides them, such as Breeze.

On Bug 451463, Nate commented:
"Ultimately it's up to icon themes to set a sane fallback.
However I do see something we could do to improve the situation, given the world we live in where there are 527603 crappy incomplete icon themes that don't set their fallback to something sane (typically Breeze or Adwaita, which can both be considered to be more or less complete)."

Oxygen is a nice but incomplete icon theme, and it currently only has hicolor as its fallback theme. Please set its fallback to something sane, such as Breeze (perhaps hicolor first, then breeze).

(Bug 451463 asked to use Breeze as a fallback even when it's not set by the icon theme. That would let people use old icon themes that may have become unmaintained before Breeze or Adwaita even existed, and still not have missing icons. However, since Oxygen is still provided by KDE, its fallback should be changed.)

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20240321
KDE Plasma Version: 6.0.2
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Kernel Version: 6.8.1-1-default (64-bit)
Graphics Platform: X11
Comment 1 Jin Liu 2024-03-28 04:38:22 UTC
I think, as Nate said, Plasma should implicitly fallbacks to Breeze when the icon theme "inherits=" setting doesn't find an icon.
Comment 2 Jin Liu 2024-03-28 09:00:15 UTC
This is caused by
https://invent.kde.org/frameworks/kiconthemes/-/blob/master/src/kicontheme.cpp?ref_type=heads#L96
initialized after:
https://invent.kde.org/frameworks/kiconthemes/-/blob/master/src/kiconloader.cpp?ref_type=heads#L1471
So the icon loader doesn't use Breeze as the ultimate fallback.

Oxygen (and other themes) doesn't need to explicitly fallback to Breeze, if the above bug is fixed.
Comment 3 Jin Liu 2024-03-28 09:01:47 UTC
*** Bug 481402 has been marked as a duplicate of this bug. ***
Comment 4 Jin Liu 2024-03-28 09:02:43 UTC
*** Bug 483496 has been marked as a duplicate of this bug. ***
Comment 5 Jin Liu 2024-03-28 09:03:14 UTC
*** Bug 451463 has been marked as a duplicate of this bug. ***
Comment 6 Jin Liu 2024-03-28 09:04:57 UTC
Also note that `setBreezeFallback` doesn't handle Breeze-twilight correctly.
Comment 7 Grósz Dániel 2024-03-28 15:14:32 UTC
Well, I interpreted Nate as saying that, while it might make sense to use Breeze a fallback even if it's not explicitly specified as an inherited theme, it's also desirable for every theme to explicitly specify a presumably complete theme (Breeze, Adwaita) as an inherited theme. Perhaps that would also help ensure that every icon works when using Oxygen icons in non-KDE applications running under KDE, or even in other DEs? So I thought it would make sense to have a separate report for the request to add a fallback (besides hicolor) to Oxygen from the other request to use Breeze as a fallback even if it isn't specified. But perhaps I'm not familiar with the details, so perhaps I'm wrong about this and I leave it to you to decide.
Comment 8 Piotr Doroszewski 2024-04-26 16:04:27 UTC
Still exists in  6.0.3.
Comment 9 Loïc Yhuel 2024-05-07 18:24:54 UTC
(In reply to Jin Liu from comment #1)
> I think, as Nate said, Plasma should implicitly fallbacks to Breeze when the
> icon theme "inherits=" setting doesn't find an icon.
Ideally, it should depend on whether the plasma style is dark or not, since the breeze icons are almost invisible on black backgrounds.
So with Oxygen and Breeze Dark, it should fallback to breeze-dark.