mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
80 lines
2.4 KiB
Diff
80 lines
2.4 KiB
Diff
From 02903f3a2ed1028f7a01d21bd2c216aaf2c42168 Mon Sep 17 00:00:00 2001
|
|
From: Graeme Gott <graeme@gottcode.org>
|
|
Date: Fri, 21 Feb 2020 08:57:23 -0500
|
|
Subject: [PATCH 1/1] Fix loading incorrect icons for some applications.
|
|
---
|
|
panel-plugin/category.cpp | 2 +-
|
|
panel-plugin/element.cpp | 10 ++++++----
|
|
panel-plugin/element.h | 2 +-
|
|
3 files changed, 8 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/panel-plugin/category.cpp b/panel-plugin/category.cpp
|
|
index 4128394..0a150ad 100644
|
|
--- a/panel-plugin/category.cpp
|
|
+++ b/panel-plugin/category.cpp
|
|
@@ -49,7 +49,7 @@ Category::Category(GarconMenu* menu) :
|
|
{
|
|
text = _("All Applications");
|
|
}
|
|
- set_icon(!exo_str_is_empty(icon) ? icon : "applications-other");
|
|
+ set_icon(!exo_str_is_empty(icon) ? icon : "applications-other", true);
|
|
set_text(text ? text : "");
|
|
set_tooltip(tooltip ? tooltip : "");
|
|
}
|
|
diff --git a/panel-plugin/element.cpp b/panel-plugin/element.cpp
|
|
index 744627a..de71b6d 100644
|
|
--- a/panel-plugin/element.cpp
|
|
+++ b/panel-plugin/element.cpp
|
|
@@ -21,7 +21,7 @@ using namespace WhiskerMenu;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
-void Element::set_icon(const gchar* icon)
|
|
+void Element::set_icon(const gchar* icon, bool use_fallbacks)
|
|
{
|
|
if (m_icon)
|
|
{
|
|
@@ -34,12 +34,14 @@ void Element::set_icon(const gchar* icon)
|
|
return;
|
|
}
|
|
|
|
+ auto themed_icon_new = use_fallbacks ? &g_themed_icon_new_with_default_fallbacks : &g_themed_icon_new;
|
|
+
|
|
if (!g_path_is_absolute(icon))
|
|
{
|
|
const gchar* pos = g_strrstr(icon, ".");
|
|
if (!pos)
|
|
{
|
|
- m_icon = g_themed_icon_new_with_default_fallbacks(icon);
|
|
+ m_icon = themed_icon_new(icon);
|
|
}
|
|
else
|
|
{
|
|
@@ -50,12 +52,12 @@ void Element::set_icon(const gchar* icon)
|
|
|| (g_strcmp0(suffix, ".svgz") == 0))
|
|
{
|
|
gchar* name = g_strndup(icon, pos - icon);
|
|
- m_icon = g_themed_icon_new_with_default_fallbacks(name);
|
|
+ m_icon = themed_icon_new(name);
|
|
g_free(name);
|
|
}
|
|
else
|
|
{
|
|
- m_icon = g_themed_icon_new_with_default_fallbacks(icon);
|
|
+ m_icon = themed_icon_new(icon);
|
|
}
|
|
g_free(suffix);
|
|
}
|
|
diff --git a/panel-plugin/element.h b/panel-plugin/element.h
|
|
index 44ed537..1bb8c67 100644
|
|
--- a/panel-plugin/element.h
|
|
+++ b/panel-plugin/element.h
|
|
@@ -79,7 +79,7 @@ public:
|
|
protected:
|
|
Element() = default;
|
|
|
|
- void set_icon(const gchar* icon);
|
|
+ void set_icon(const gchar* icon, bool use_fallbacks = false);
|
|
|
|
void set_text(const gchar* text)
|
|
{
|