Bug 496341

Summary: BreezeIcons not work on Windows 10 VM. Missing "theme.index" file in BreezeIcons.dll (?)
Product: [Plasma] Breeze Reporter: Trần Nam Tuấn (Bill) <tuantran1632001>
Component: IconsAssignee: visual-design
Status: RESOLVED FIXED    
Severity: normal CC: kainz.a, m, nate, tuantran1632001, vonreth
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: The screenshot of the test app in Windows 10 VM.
Kate

Description Trần Nam Tuấn (Bill) 2024-11-16 12:34:17 UTC
Created attachment 175858 [details]
The screenshot of the test app in Windows 10 VM.

TLDR: Missing "theme.index" file in "BreezeIcons.dll", and likely in "libBreezeIcons.so", too.

I'm in the process of researching methods to deploy Qt+Kirigami+Breeze application to Windows. I have decided to go with Craft.

From testing in a Windows 10 virtual machine, the test program, which is made following develop.kde.org, does not show any icon. In fact, none of KDE official applications built with Craft do. I decided to download and try Kate nightly build from kate-editor.org and the problem persisted. Yes, I did call "KIconTheme::initTheme()" before creating "QApplication".

Turning on QLogging of KIconTheme, I could see this in the console:

kf.iconthemes: KIconTheme::initTheme() enforces the icon theme: "breeze"
kf.iconthemes: Icon theme "breeze" not found.
kf.iconthemes: Couldn't find current icon theme, falling back to default.
kf.iconthemes: Standard icon theme "hicolor" not found!


But the icon files do exist under ":/icons" as I can use QDirIterator and print them out to the console. The only file I could not find is "theme.index". KIconTheme checks for it and "theme.desktop" file, I believe. I can load the icon just fine if I provide the full path:

-> qInfo() << KIconLoader::global()->hasIcon(u"applictaion-menu"_s);
false
-> QIcon::fromTheme(u"applictaion-menu"_s);
QIcon(null)
-> QIcon(u":/icons/breeze/actions/32/application-menu.svg"_s);
QIcon("application-menu",availableSizes[normal,Off]=QList(QSize(16, 16), QSize(22, 22), QSize(32, 32), QSize(48, 48), QSize(64, 64), QSize(128, 128), QSize(256, 256)),cacheKey=0x400000000)


SOFTWARE/OS VERSIONS
Windows: 10 (VM)
KDE Frameworks Version: 6.8.0 
Qt Version: 6.8.0
Comment 1 Trần Nam Tuấn (Bill) 2024-11-16 12:36:38 UTC
Created attachment 175859 [details]
Kate

This is Kate nightly build.
Comment 2 Trần Nam Tuấn (Bill) 2025-06-20 03:38:56 UTC
This seems to have been fixed.