aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/widgets/ephy-download-widget.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/widgets/ephy-download-widget.c b/lib/widgets/ephy-download-widget.c
index 0ef240b92..0c84420c2 100644
--- a/lib/widgets/ephy-download-widget.c
+++ b/lib/widgets/ephy-download-widget.c
@@ -137,11 +137,14 @@ download_clicked_cb (GtkButton *button,
static void
update_download_icon (EphyDownloadWidget *widget)
{
- GIcon *new_icon;
+ GIcon *new_icon, *old_icon;
new_icon = get_gicon_from_download (widget->priv->download);
- gtk_image_set_from_gicon (GTK_IMAGE (widget->priv->icon), new_icon,
- GTK_ICON_SIZE_LARGE_TOOLBAR);
+ gtk_image_get_gicon (GTK_IMAGE (widget->priv->icon), &old_icon, NULL);
+ if (!g_icon_equal (new_icon, old_icon)) {
+ gtk_image_set_from_gicon (GTK_IMAGE (widget->priv->icon), new_icon,
+ GTK_ICON_SIZE_LARGE_TOOLBAR);
+ }
g_object_unref (new_icon);
}