Bug 496341 - BreezeIcons not work on Windows 10 VM. Missing "theme.index" file in BreezeIcons.dll (?)
Summary: BreezeIcons not work on Windows 10 VM. Missing "theme.index" file in BreezeIc...
Status: RESOLVED FIXED
Alias: None
Product: Breeze
Classification: Plasma
Component: Icons (other bugs)
Version First Reported In: unspecified
Platform: Compiled Sources Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: visual-design
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-16 12:34 UTC by Trần Nam Tuấn (Bill)
Modified: 2025-06-20 03:38 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
The screenshot of the test app in Windows 10 VM. (8.70 KB, image/png)
2024-11-16 12:34 UTC, Trần Nam Tuấn (Bill)
Details
Kate (26.04 KB, image/png)
2024-11-16 12:36 UTC, Trần Nam Tuấn (Bill)
Details

Note You need to log in before you can comment on or make changes to this bug.
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.