mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-10-01 01:26:01 -04:00
Reset icon theme name before calling QIcon::fromTheme().
qt5ct randomly resets the active Qt icon theme to "", resulting in empty or wrong icons. See https://sourceforge.net/p/qt5ct/tickets/80/ Fixes #4963
This commit is contained in:
parent
4f1d8943d6
commit
2fe74c2947
@ -153,6 +153,15 @@ QIcon Resources::icon(const QString& name, bool recolor, const QColor& overrideC
|
||||
return icon;
|
||||
}
|
||||
|
||||
// Resetting the application theme name before calling QIcon::fromTheme() is required for hacky
|
||||
// QPA platform themes such as qt5ct, which randomly mess with the configured icon theme.
|
||||
// If we do not reset the theme name here, it will become empty at some point, causing
|
||||
// Qt to look for icons at the user-level and global default locations.
|
||||
//
|
||||
// See issue #4963: https://github.com/keepassxreboot/keepassxc/issues/4963
|
||||
// and qt5ct issue #80: https://sourceforge.net/p/qt5ct/tickets/80/
|
||||
QIcon::setThemeName("application");
|
||||
|
||||
icon = QIcon::fromTheme(name);
|
||||
if (getMainWindow() && recolor) {
|
||||
QImage img = icon.pixmap(128, 128).toImage().convertToFormat(QImage::Format_ARGB32_Premultiplied);
|
||||
|
Loading…
Reference in New Issue
Block a user