From 7ff7fb5d3b3ee655b1492226f68aeadac846e247 Mon Sep 17 00:00:00 2001 From: Andre Moreira Magalhaes Date: Fri, 3 Apr 2020 10:25:25 -0300 Subject: [PATCH] st/icon: Only load default fallback icon if an icon was set and failed to load Commit c89d6a633 introduced a default fallback icon that would be displayed in case the main gicon or the fallback gicon wasn't set or failed to load. This broke the use case where a StIcon is created but no main icon or fallback icon are set on purpose, for example the appindicator extension which always creates a StIcon to represent icons in menu items but the actual icons are only set if the application provides one, leaving the menu showing the default fallback ("image-missing") icon for all menu entries that don't actually have an icon provided by the application. Fix that by only using the default fallback icon if the provided one failed to load. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1173 --- src/st/st-icon.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/st/st-icon.c b/src/st/st-icon.c index a2ccd8f75..e82adcc77 100644 --- a/src/st/st-icon.c +++ b/src/st/st-icon.c @@ -418,6 +418,9 @@ st_icon_update (StIcon *icon) priv->opacity_handler_id = 0; } + if (priv->gicon == NULL && priv->fallback_gicon == NULL) + return; + if (!st_widget_get_resource_scale (ST_WIDGET (icon), &resource_scale)) return;