From e7e9265c40a1621e5a7f7c08db47bc77dc859896 Mon Sep 17 00:00:00 2001 From: leia uwu Date: Sat, 30 Nov 2024 11:30:25 -0300 Subject: [PATCH 1/2] fix: fix system icons This sets the fallback icon theme to the current(system default) icon theme before launcher specific themes are applied And removes `Inherits` line of multimc/legacy icon theme because it can end up making it inherit a default theme set from /usr/share/icons/default/index.theme instead of the user configured theme (probably a qt bug?) Signed-off-by: leia uwu (cherry picked from commit fd9c80db62436b1a364cb8342ba45a059c53f899) --- launcher/resources/multimc/index.theme | 1 - launcher/ui/themes/ThemeManager.cpp | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/launcher/resources/multimc/index.theme b/launcher/resources/multimc/index.theme index 4da8072d9..497106d6f 100644 --- a/launcher/resources/multimc/index.theme +++ b/launcher/resources/multimc/index.theme @@ -1,7 +1,6 @@ [Icon Theme] Name=Legacy Comment=Default Icons -Inherits=default Directories=8x8,16x16,22x22,24x24,32x32,32x32/instances,48x48,50x50/instances,64x64,128x128/instances,256x256,scalable,scalable/instances [8x8] diff --git a/launcher/ui/themes/ThemeManager.cpp b/launcher/ui/themes/ThemeManager.cpp index 691a51668..81afd0412 100644 --- a/launcher/ui/themes/ThemeManager.cpp +++ b/launcher/ui/themes/ThemeManager.cpp @@ -36,6 +36,7 @@ ThemeManager::ThemeManager() { + QIcon::setFallbackThemeName(QIcon::themeName()); themeDebugLog() << "Determining System Widget Theme..."; const auto& style = QApplication::style(); m_defaultStyle = style->objectName(); From 9791c306dcd0ba4b33335c649fe56cc08e394193 Mon Sep 17 00:00:00 2001 From: leia uwu Date: Sat, 30 Nov 2024 12:50:57 -0300 Subject: [PATCH 2/2] fix: icon search paths memory leak Signed-off-by: leia uwu (cherry picked from commit 3f67ef968bb9be3b1cdfdfa68e2d38ddf8e1a3cf) --- launcher/ui/themes/ThemeManager.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/launcher/ui/themes/ThemeManager.cpp b/launcher/ui/themes/ThemeManager.cpp index 81afd0412..bbf614855 100644 --- a/launcher/ui/themes/ThemeManager.cpp +++ b/launcher/ui/themes/ThemeManager.cpp @@ -37,6 +37,7 @@ ThemeManager::ThemeManager() { QIcon::setFallbackThemeName(QIcon::themeName()); + QIcon::setFallbackSearchPaths(QIcon::themeSearchPaths()); themeDebugLog() << "Determining System Widget Theme..."; const auto& style = QApplication::style(); m_defaultStyle = style->objectName(); @@ -94,9 +95,7 @@ void ThemeManager::initializeIcons() // set icon theme search path! themeDebugLog() << "<> Initializing Icon Themes"; - auto searchPaths = QIcon::themeSearchPaths(); - searchPaths.append(m_iconThemeFolder.path()); - QIcon::setThemeSearchPaths(searchPaths); + QIcon::setThemeSearchPaths({ m_iconThemeFolder.path(), ":/icons" }); for (const QString& id : builtinIcons) { IconTheme theme(id, QString(":/icons/%1").arg(id));