From 7b1781ff5f65adf6fff165de0babf926864d4c06 Mon Sep 17 00:00:00 2001 From: Simon Steinbeiss Date: Thu, 9 Apr 2015 00:58:41 +0200 Subject: [PATCH] Never use symbolic icons for the systray ...and always make sure to have an icon name, even if UPower decides not to return one (Bug #11756) --- panel-plugins/power-manager-plugin/power-manager-button.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/panel-plugins/power-manager-plugin/power-manager-button.c b/panel-plugins/power-manager-plugin/power-manager-button.c index ef9b2ea..abe7df8 100644 --- a/panel-plugins/power-manager-plugin/power-manager-button.c +++ b/panel-plugins/power-manager-plugin/power-manager-button.c @@ -387,17 +387,17 @@ power_manager_button_update_device_icon_and_details (PowerManagerButton *button, details = get_device_description (button->priv->upower, device); if (icon_name) - { pix = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), icon_name, 32, GTK_ICON_LOOKUP_USE_BUILTIN, NULL); - g_free (icon_name); - } + /* If UPower doesn't give us an icon, just use the default */ + else + icon_name = g_strdup (PANEL_DEFAULT_ICON); if (battery_device->details) - g_free (battery_device->details); + g_free (battery_device->details); battery_device->details = details; /* If we had an image before, remove it and the callback */ @@ -412,11 +412,17 @@ power_manager_button_update_device_icon_and_details (PowerManagerButton *button, DBG("this is the display device, updating"); /* it is! update the panel button */ g_free (button->priv->panel_icon_name); +#ifdef XFCE_PLUGIN button->priv->panel_icon_name = upower_icon; +#else + button->priv->panel_icon_name = icon_name; +#endif power_manager_button_set_icon (button); /* update tooltip */ power_manager_button_set_tooltip (button); } + else + g_free (icon_name); /* If the menu is being displayed, update it */ if (button->priv->menu && battery_device->menu_item) -- 2.1.4