Skip to content

Commit a1ff1c8

Browse files
authored
Fix invisible tray icon with Qt5 in Linux
PR #19814. Closes #19758.
1 parent 7bc4942 commit a1ff1c8

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/gui/desktopintegration.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -286,17 +286,25 @@ void DesktopIntegration::createTrayIcon()
286286
QIcon DesktopIntegration::getSystrayIcon() const
287287
{
288288
const TrayIcon::Style style = Preferences::instance()->trayIconStyle();
289+
QIcon icon;
289290
switch (style)
290291
{
291292
default:
292293
case TrayIcon::Style::Normal:
293-
return UIThemeManager::instance()->getIcon(u"qbittorrent-tray"_s);
294-
294+
icon = UIThemeManager::instance()->getIcon(u"qbittorrent-tray"_s);
295+
break;
295296
case TrayIcon::Style::MonoDark:
296-
return UIThemeManager::instance()->getIcon(u"qbittorrent-tray-dark"_s);
297-
297+
icon = UIThemeManager::instance()->getIcon(u"qbittorrent-tray-dark"_s);
298+
break;
298299
case TrayIcon::Style::MonoLight:
299-
return UIThemeManager::instance()->getIcon(u"qbittorrent-tray-light"_s);
300+
icon = UIThemeManager::instance()->getIcon(u"qbittorrent-tray-light"_s);
301+
break;
300302
}
303+
#if ((QT_VERSION < QT_VERSION_CHECK(6, 0, 0)) && defined(Q_OS_UNIX) && !defined(Q_OS_MACOS))
304+
// Workaround for invisible tray icon in KDE, https://bugreports.qt.io/browse/QTBUG-53550
305+
return {icon.pixmap(32)};
306+
#else
307+
return icon;
308+
#endif
301309
}
302310
#endif // Q_OS_MACOS

0 commit comments

Comments
 (0)