https://bugs.kde.org/show_bug.cgi?id=371576
Bug ID: 371576 Summary: AppIndicator GTK apps fail to find icons in custom GTK icon theme folder and crash Product: plasmashell Version: 5.8.2 Platform: Archlinux Packages OS: Linux Status: UNCONFIRMED Severity: crash Priority: NOR Component: System Tray Assignee: plasma-b...@kde.org Reporter: andrebr...@gmail.com I'm the developer/maintainer of a couple of system tray AppIndicator-based apps and users running KDE Neon reported my apps wouldn't work on their computers. I happen to run Arch now and I noticed they wouldn't work in my computer too. But they do work ok in Kubuntu when using both the shipped KDE 5.5 and the 5.6 from the backports. Since KDE Neon is basically Kubuntu 16.04 running KDE 5.8.2 and I'm running 5.8.2 in Arch as well, I think there's something that changed between these releases that made my applications stop working. It would still work in other DE's as well, such as Unity, XFCE, LXDE and MATE. What I know: - KDE 5.8 now demands custom icon folders have their names ended in "icons". A user provided me with this error when starting the application with the old folder names: kde.systemtray: Wrong IconThemePath "/home/john/.config/prime-indicator/icons-symbolic" : too short or does not end with 'icons' I changed it to conform to this requirement and it still didn't work (see below). - My Apps used a custom GTK Icon theme folder with some icons there. I would then set the icon using only the name of the file. This allowed people with icon themes that provided icons for my applications to use the icons from their themes by default, fallbacking to my icons if there was none in their current themes. When using icons from the folder, they'd get (by restarting plasmashell): Registering ":1.134/org/ayatana/NotificationItem/PRIME_Indicator" QQuickItem::stackAfter: Cannot stack after 0x5cf9b80, which must be a sibling - The solution was to explicitly set the icons using the path to the filles themselves. I circumvented the problem this would cause (the user not being able to use their theme's icons) by explicitly getting the current icon theme inside the application, requesting the icon for the application and, if it existed, setting the application icon using the full path of the file provided by the theme, only using my icons if no icons were provided by the theme, again setting the icons using the full path to my icon files. - The issue and the commit needed to fix this issue can be found here: https://github.com/andrebrait/prime-indicator/issues/7 I'm concerned this will end up breaking quite a few applications based on AppIndicator and this breaks some functionality which is expected from an AppIndicator application. The whole point of being able to set custom icon theme folders is to allow the GTK theming machanism do the lookup for you and choose which icon should be displayed. Reproducible: Always Steps to Reproduce: 1. Have a NVIDIA Optimus enabled laptop hanging around 2. Go to http://github.com/andrebrait/prime-indicator and download the sources to version 1.0.0. 3. Use the setup script to install the application in KDE Neon 4. Try to run the application. 5. See the command line output. Alternatively 1. Create any AppIndicator application, setting the icon to some name. 2. Create a new AppIndicator instance setting the icon theme folder path. 3. Place some icons in the folder, including one for the name you set in step 1. 4. Start your application and the icon won't show. Actual Results: Icon will not be shown and the app will crash. Expected Results: Icon should be shown, just like it used to in KDE < 5.8. -- You are receiving this mail because: You are watching all bug changes.