diff options
Diffstat (limited to 'lib/widgets/ephy-download-widget.c')
-rw-r--r-- | lib/widgets/ephy-download-widget.c | 9 |
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); } |